Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Podobné dokumenty
Teorie informace a kódování (KMI/TIK)

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

[1] samoopravné kódy: terminologie, princip

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Odpřednesenou látku naleznete v kapitole 3.3 skript Diskrétní matematika.

1 Linearní prostory nad komplexními čísly

6.1 Vektorový prostor

Základní pojmy teorie množin Vektorové prostory

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

1 Báze a dimenze vektorového prostoru 1

0.1 Úvod do lineární algebry

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Lineární algebra : Lineární prostor

1 Co jsou lineární kódy

1 Lineární prostory a podprostory

9 Kolmost vektorových podprostorů

0.1 Úvod do lineární algebry

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad

[1] samoopravné kódy: terminologie, princip

V: Pro nulový prvek o lineárního prostoru L platí vlastnosti:

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

1 Řešení soustav lineárních rovnic

Samoopravné kódy, k čemu to je

Báze a dimenze vektorových prostorů

Lingebraické kapitolky - Analytická geometrie

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Lineární algebra : Skalární součin a ortogonalita

Matematika. Kamila Hasilová. Matematika 1/34

IB112 Základy matematiky

Matematika 2 pro PEF PaE

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Úvod do lineární algebry

DEFINICE Z LINEÁRNÍ ALGEBRY

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Lineární algebra Operace s vektory a maticemi

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

6 Lineární geometrie. 6.1 Lineární variety

Lineární algebra : Skalární součin a ortogonalita

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

[1] Vzhledem ke zvolené bázi určujeme souřadnice vektorů...

1 Vektorové prostory.

ALGEBRA. Téma 5: Vektorové prostory

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Skalární součin dovoluje zavedení metriky v afinním bodovém prostoru, tj. umožňuje nám určovat vzdálenosti, odchylky, obsahy a objemy.

10 Přednáška ze

1 Determinanty a inverzní matice

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

VĚTY Z LINEÁRNÍ ALGEBRY

Vlastní číslo, vektor

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

10. Vektorové podprostory

Lineární prostory. - vektorové veličiny(síla, rychlost, zrychlení,...), skládání, násobení reálným číslem

Derivace funkcí více proměnných

Masarykova univerzita

6. Lineární nezávislost a báze p. 1/18

Lineární algebra : Metrická geometrie

7 Ortogonální a ortonormální vektory

Samoopravné kódy. Katedra matematiky a Institut teoretické informatiky Západočeská univerzita

Výběr báze. u n. a 1 u 1

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Afinní transformace Stručnější verze

EUKLIDOVSKÉ PROSTORY

1 Projekce a projektory

Báze a dimense. Odpřednesenou látku naleznete v kapitolách a 3.6 skript Abstraktní a konkrétní lineární algebra.

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

8 Kořeny cyklických kódů, BCH-kódy

6. ANALYTICKÁ GEOMETRIE

7. Důležité pojmy ve vektorových prostorech

Teorie informace a kódování (KMI/TIK)

Matematika IV 10. týden Kódování

5. Lokální, vázané a globální extrémy

Matematika B101MA1, B101MA2

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

1 Soustavy lineárních rovnic

7. Lineární vektorové prostory

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Aritmetické vektory. Martina Šimůnková. Katedra aplikované matematiky. 16. března 2008

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Těleso racionálních funkcí

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.

Matematika I 12a Euklidovská geometrie

Transkript:

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014

Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo: burzum. 2 z 52

Reed-Mullerovy kódy Binární lineární blokový kód, značíme R(r, m). Délka kódu je n = 2 m Počet informačních symbolů: k = r ( n ) i=0 i Minimální vzdálenost: d = 2 m r Opravuje 2 m r 1 chyb Pojmenováno po Irving S. Reed a David E. Muller. Muller objevil kód samotný, Reed vymyslel jednoduchý způsob dekódování. R(1, 5) je (32, 6) kód, který využil kosmický koráb Mariner 9 při vysílání fotografií z Marsu v roce 1972. 3 z 52

4 z 52 Boolovské funkce

Boolovské funkce Boolovská funkce m proměnných je zobrazení Z m 2 Z 2. Zapisujeme např. pomocí tabulky: x 1 0 1 0 1 x 2 0 0 1 1 f 1 0 1 1 x 1 0 1 0 1 0 1 0 1 x 2 0 0 1 1 0 0 1 1 x 3 0 0 0 0 1 1 1 1 f 1 1 0 1 1 1 0 1 Hodnoty proměnných x i zapisujeme tak, aby sloupce tvořily čísla 0, 1,..., 2 m 1 v binárním zápise. 5 z 52

Reprezentace boolovské funkce Boolovskou funkci o m proměnných můžeme reprezentovat jako slovo délky 2 m. Např. funkce x 1 0 1 0 1 x 2 0 0 1 1 f 1 0 1 1 x 1 0 1 0 1 0 1 0 1 x 2 0 0 1 1 0 0 1 1 x 3 0 0 0 0 1 1 1 1 f 1 1 0 1 1 1 0 1 můžeme reprezentovat jako slova f = 1011 a f = 11011101, tj. jen jako poslední řádek. Jakékoliv slovo o délce 2 m reprezentuje nějakou boolovskou funkci. 6 z 52

Definice boolovské funkce Definice: Slovo f Z 2m 2 tvaru f = f 0 f 1... f 2 m 1, nazveme boolovskou funkcí o m proměnných, definovanou předpisem f (j 1, j 2,..., j m ) je rovno f j, pokud má j binární rozvoj j m j m 1... j 1. Příklad: nechť f = 11110010 je boolovská funkce o 3 proměnných. Pak f (0, 0, 1) vyhodnotíme jako číslo 100 2, což odpovídá číslu 4 10, takže f (0, 0, 1) = f 4 = 0. x 1 0 1 0 1 0 1 0 1 x 2 0 0 1 1 0 0 1 1 x 3 0 0 0 0 1 1 1 1 f 1 1 1 1 0 0 1 0 7 z 52

Zajímavé funkce Nulová funkce 0 = 0... 0 Funkce 1 = 1... 1 V proměnné x i se vždy pravidelně střídají skupiny 2 i 1 nul a 2 i 1 jedniček. x 1 0 1 0 1 0 1 0 1 x 2 0 0 1 1 0 0 1 1 x 3 0 0 0 0 1 1 1 1 f 1 1 1 1 0 0 1 0 8 z 52

Proměnná jako funkce Samotné proměnné x i jsou také funkcemi. Např. pro m = 2 máme x 1 = 0101 a x 2 = 0011: x 1 0 1 0 1 x 2 0 0 1 1 f 0 1 0 1 Platí, že funkce f = x 1 dvou proměnných je funkce dvou parametrů f (x 1, x 2 ), pro kterou platí f (x 1, x 2 ) = x 1 = 0101 9 z 52

Logické operace Použijeme definice operací + a, které jsme použili u binárních lineárních kódů, tj. sčítání a násobení modulo 2. Pak pro boolovské funkce f = f 0, f 1,..., f 2 m 1 a g = g 0, g 1,..., g 2 m 1 a prvek x Z 2 definujeme operace: f g = f 0 g 0, f 1 g 1,..., f 2 m 1 g 2 m 1 f + g = f 0 + g 0, f 1 + g 1,..., f 2 m 1 + g 2 m 1 x f = x f 0, x f 1,..., x f 2 m 1 x + f = x + f 0, x + f 1,..., x + f 2 m 1 f = 1 + f f f = f 10 z 52

Pozorování (Currying) Pokud máme funkci f o třech proměnných, pak slovo f 0 f 1 f 2 f 3 je zároveň funkce dvou proměnných tvaru f (x 1, x 2, 0). x 1 0 1 0 1 0 1 0 1 x 2 0 0 1 1 0 0 1 1 x 3 0 0 0 0 1 1 1 1 f 0 1 1 1 0 0 1 0 Pokud definujeme g(x 1, x 2 ) = f (x 1, x 2, 0), pak g = 0111, první čtyři symboly funkce f. Podobně pro f (x 1, x 2, 1). Obecně: f (x 1, x 2,..., x m 1, 0) = f 0 f 1... f 2 m 1 1 f (x 1, x 2,..., x m 1, 1) = f 2 m 1f 2 m 1 +1... f 2 m 1 11 z 52

12 z 52 Boolovské polynomy

Boolovské polynomy Boolovské funkce můžeme také reprezentovat jako součty a součiny funkcí x i a 1. Příklad: f = 0111. x 1 0 1 0 1 x 2 0 0 1 1 f 0 1 1 1 Funkci můžeme přepsat takto: f = x 1 + x 2 + x 1 x 2, protože: 0101 + 0011 + 0101 0011 = 0101 + 0011 + 0001 = 0111 Tomuto tvaru říkáme boolovský polynom. Lze každou boolovskou funkci zapsat jako polynom? 13 z 52

Boolovské polynomy 2 Platí, že x 2 i = x i, x 1 i = x i a x 0 i = 1. Boolovský polynom m proměnných je součet funkce 1 a členů x i 1 1 x i 2 2... x im m, kde i 1,..., i m Z 2. Pro m = 3 máme: x1 1 x2 0 x3 0 = x 1 x1 0 x2 1 x3 1 = x 2 x 3 x1 0 x2 0 x3 0 = 1 14 z 52

Boolovské polynomy definice Definice: Boolovský polynom reprezentující boolovskou funkci f o m proměnných je výraz ve tvaru f = 2 m 1 i=0 q i x i 1 1 x i 2 2... x im m, kde q i Z 2 a číslo i má binární rozvoj i m i m 1... i 2 i 1. Pro funkce dvou proměnných tak má polynom tvar q 0 1 + q 1 x 1 + q 2 x 2 + q 3 x 1 x 2 a volbou koeficientů q i určujeme, jestli v polynomu daný člen bude nebo nebude. 15 z 52

Příklad Pro f = x 2 + x 1 x 2 a m = 2 máme: q 0 + q 1 x 1 + q 2 x 2 + q 3 x 1 x 2, kde q 0 = q 1 = 0, q 2 = q 3 = 1. Pro f = 00001111 a m = 3 máme: q 0 + q 1 x 1 + q 2 x 2 + q 3 x 1 x 2 + q 4 x 3 + q 5 x 1 x 3 + q 6 x 2 x 3 + q 7 x 1 x 2 x 3, kde q 4 = 1 a zbytek je nula. 16 z 52

Snížení počtu proměnných Věta: Pro každou boolovskou funkci m + 1 proměnných f (x 1,..., x m, x m+1 ) platí f = f (x 1,..., x m, 0) + [f (x 1,..., x m, 0) + f (x 1,..., x m, 1)] x m+1 Důkaz: Dosadíme za x m+1 jedna a nula. Pokud tento postup použijeme rekurzivně dále, můžeme takto získat z boolovské funkce boolovský polynom. 17 z 52

Příklad Převedeme funkci dvou proměnných f = 0111 na polynom. Dále vidíme, že f = 01 + (01 + 11)x 2 = 01 + 10x 2 01 = 0 + (0 + 1)x 1 = x 1 10 = 1 + (1 + 0)x 1 = 1 + x 1 Takže f = 01 + 10x 2 = x 1 + (1 + x 1 )x 2 = x 1 + x 2 + x 1 x 2. Funkce 0111 odpovídá polynomu x 1 + x 2 + x 1 x 2. 18 z 52

Důsledek Každý boolovský polynom jsme schopni převést na boolovskou funkci. (Zkrátka vše sečteme/vynásobíme.) Každou boolovskou funkci jsme schopni převést na boolovský polynom. 19 z 52

Báze lineárního prostoru Z 2m 2 Věta: Mějme vektorový prostor Z n 2, kde n = 2m. Následující polynomy o jednom sčítanci tvoří bázi B tohoto vektorového prostoru: 1, x 1, x 2,..., x m, x i x j pro i, j {1,..., m},., x 1 x 2... x m 20 z 52

Důkaz Víme, že každá boolovská funkce délky n = 2 m lze vyjádřit jako boolovský polynom o m proměnných. Obalem báze B je zřejmě celý vektorový prostor Z n 2. Zbývá dokázat, že vektory/polynomy báze jsou nezávislé. Dokážeme, že počet polynomů v bázi B je shodný s dimenzí prostoru Z n 2 (dimenze je n = 2m ). Máme 1 polynom stupně 0, m polynomů stupně 1, ( m 2) polynomů stupně 2 atd. Celkem máme ( ) m + 0 ( m 1 ) + ( m 2 ) + + ( ) m + m 1 ( ) m = m polynomů. (Rovnost vysvětlena na dalším slajdu.) m k=0 ( ) m = 2 m k 21 z 52

Binomická věta Proč platí rovnost na předchozím slajdu? Binomická věta říká: (x + y) m = m k=0 Pokud dosadíme x = y = 1, máme: 2 m = m k=0 ( ) m = k ( ) m + 0 ( ) m + 1 ( ) m x m k y k. k ( ) ( ) m m + + + 2 m 1 ( ) m. m 22 z 52

Stupeň polynomu Polynom 0 má stupeň 1. Polynom 1 má stupeň 0. Stupeň ostatních boolovských polynomů f = 2 m 1 i=0 q i x i 1 1 x i 2 2... x im m je maximální váha slova i 1 i 2... i m takového, že q i = 1. Tedy je to největší počet proměnných, které se vyskytují v nějakém sčítanci. Příklady: Polynom 1 + x 1 + x 1 x 2 má stupeň 2, polynom x 1 x 3 + x 1 x 2 x 3 má stupeň 3. 23 z 52

24 z 52 Reed-Mullerovy kódy

Reed-Mullerovy kódy Definice: Reed-Mullerovým kódem stupně r a délky 2 m se nazývá množina R(r, m) všech boolovských polynomů m proměnných stupně nejvýše r. Kódová slova Reed-Mullerových kódů tak jsou polynomy. Příklad: Kódy R(0, m) jsou kódy, které obsahují polynomy o stupni maximálně 0, tj. obsahují pouze 0 a 1. Jedná se tak o opakující kód délky 2 m. 25 z 52

Příklad Reed-Mullerových kódů 26 z 52

Generující matice Reed-Mullerův kód je lineární, protože součet dvou polynomů stupně nejvýše r je také polynom stupně nejvýše r. Generující matice tvoří všechny polynomy obsahující jediný výraz ve tvaru součinu o stupni r. Matice kódu R(2, 3): 27 z 52

R(1, 3) Hammingův kód Podívejme se na generující matici R(1, 3): 1 G = x 1 x 2 = x 3 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 Je to generující matice rozšířeného Hammingova (7, 4) kódu. Rozšířený Hammingův kód = ke kódovému slovu Hammingova kódu se přidá jeden symbol tak, aby výsledné kódové slovo mělo sudou paritu. Odstraněním prvního řádku a sloupce získáme klasický kód. 28 z 52

Kódování Slovo, které chceme zakódovat, má délku k, kde r ( ) m k = i i=0 Pokud chceme zakódovat slovo u, pak symboly u i nám říkají, které součiny z generující matice budou ve výsledném polynomu. Dále postupujeme standardně, kódování e : Z k 2 R(r, m) bude probíhat takto: e(u) = u G 29 z 52

Příklad kódování Použijeme generující matici: Zakódujeme slovo 0010110: 0010110 G = x 2 + x 1 x 2 + x 1 x 3 = 00100111 Vidíme, že kódování odpovídá kódu sudé parity. 30 z 52

Vlastnosti R(m, m) = Z 2m 2 R(m 1, m) je (2 m, 2 m 1) kód sudé parity (ale není systematický, viz příklad). R(0, m) je (2 m, 1) opakovací kód. Minimální vzdálenost R(r, m) kódu je 2 m r. 31 z 52

32 z 52 Geometrická interpretace

Analytická geometrie: opakování Máme Euklidovský prostor R 3, který tvoří vektorový prostor, a body x 1 x 2 x 3 R 3. V R 3 máme přímky popsané parametricky a + tb, kde a, b R 3 a t R, b 0. Plochu popíšeme jako a + tb + sc, kde a, b, c R 3, b, c jsou lineárně nezávislé a t, s R. 33 z 52

Binární Euklidovský třídimenzionální prostor Body tohoto prostoru bude množina Z 3 2. Tzn., že prostor obsahuje konečně mnoho bodů! Konkrétně osm. Můžeme je všechny zobrazit do tabulky. Bod p 0 = 000 p 1 = 001 p 2 = 010 p 3 = 011. p 7 = 111 34 z 52

Charakteristická funkce bodu Každému bodu p i Z 3 2 přiřadíme charakteristickou funkci f = f 7 f 6... f 1 f 0. Platí, že { 1 pokud j = i f (p i ) = f 7 f 6... f 1 f 0, kde f j = 0 jinak Tabulka: 35 z 52 Bod Charakteristická funkce f p 0 = 000 00000001 p 1 = 001 00000010 p 2 = 010 00000100 p 3 = 011 00001000.. p 7 = 111 10000000

Charakteristická funkce množiny Pokud P Z 3 2, pak můžeme definovat charakteristickou funkci f množiny P takto: f (P) = p p P Jinými slovy, f (P) = f 7 f 6... f 1 f 0, kde f i = 1 právě tehdy, když p i P, jinak f i = 0. Příklad: f ({p 1, p 7 }) = 00000010 + 10000000 = 10000010 f ( ) = 00000000 f (Z 3 2) = 11111111 36 z 52

Přímka v Z 3 2 Přímka je opět popsána parametricky jako a + tb, ale a, b Z 3 2 a t Z 2, b 0. Přímka tak má právě dva body a, a + b. Naopak každá dvojice různých bodů a, b tvoří přímku danou předpisem a + t(b a). Množina všech přímek pak vypadá takto: {{p 0, p 1 }, {p 0, p 2 },..., {p 6, p 7 }}. Celkem jich je ( ) 8 = 27. 2 37 z 52

Plocha v Z 3 2 Plocha je také popsána parametricky a + t 1 b 1 + t 2 b 2, kde a, b 1, b 2 Z 3 2, b 1, b 2 jsou nezávislé a t 1, t 2 Z 2. Plocha se tak skládá ze čtyř bodů a, a + b 1, a + b 2, a + b 1 + b 2. Všechny čtyři body budou po dvou různé, což vyplývá z nezávislosti b 1 a b 2. 38 z 52

Všechny plochy v Z 3 2 39 z 52

Plocha jako boolovský polynom Všimněme si každá plocha P má svou charakteristickou funkci f (P), což je boolovská funkce. Každá boolovská funkce lze převést na boolovský polynom. Množina všech ploch tvoří kód R(1, 3), protože obsahuje všechny polynomy o 3 proměnných a stupni maximálně 1. 40 z 52

Plocha jako množina řešení rovnice Všechny plochy procházející počátkem (a = 0) jsou popsány rovnicí h 0 x 0 + h 1 x 1 + h 2 x 2 = 0. Zvolíme koeficienty h i a dopočítáme souřadnice x i. Např. pro h 0 = 0, h 1 = 1 a h 2 = 1 máme rovnici Množina řešení rovnice má tvar 0 x 0 + x 1 + x 2 = 0. {000, 011, 100, 111} = {p 0, p 3, p 4, p 7 }. To odpovídá ploše 10011001, neboli 1 + x 0 + x 1. Dosazením všech kombinací za h i získáme všechny plochy procházející počátkem. 41 z 52

Plocha jako podprostor Věta: Plocha P procházející počátkem 0 je dvoudimenzionální podprostor prostoru Z 3 2. Důkaz: Každá plocha P procházející počátkem lze parametricky vyjádřit jako 0 + t 1 b 1 + t 2 b 2. Obsahuje tak body 0, b 1, b 2, b 1 + b 2 Plocha tak obsahuje nulový vektor. Ověříme uzavřenost na sčítání: b 1 + b 2 P (b 1 + b 2 ) + b 1 = b 2 P (b 1 + b 2 ) + b 2 = b 1 P 42 z 52

Ostatní plochy Snadno ověříme, že ostatní plochy lze popsat rovnicí h 0 x 0 + h 1 x 1 + h 2 x 2 = 1 Kažou plochu tak lze popsat rovnicí h 0 x 0 + h 1 x 1 + h 2 x 2 = c, kde c Z 2. 43 z 52

Přímky jako průnik dvou ploch Věta: Každou přímku a + tb lze popsat jako průnik dvou ploch. Důkaz: Nechť b, d, d jsou bází prostoru Z 3 2. Dále mějme plochy P 1 : a + tb + sd = {a, a + b, a + d, a + b + d} P 2 : a + tb + sd = {a, a + b, a + d, a + b + d } Protože jsou body b, d a d nezávislé, platí, že body {a + d, a + d, a + b + d, a + b + d } jsou po dvou různé. Průnik je tak roven P 1 P 2 = {a, a + b} (= a + tb). 44 z 52

Plocha jako coset Věta: Pro každou plochu P : a + t 1 b 1 + t 2 b 2 existuje dvoudimenzionální vektorový podprostor K prostoru Z 3 2 takový, že množina a + K = {a + x x K}, je rovna ploše P. Množině a + K říkáme coset vektorového podprostoru K prostoru Z 3 2. Důkaz: Dvoudimenzionální podprostor K je roven nějaké ploše, která prochází počátkem. Plocha K tak bude mít tvar K : 0 + t 1 b 1 + t 2 b 2 = {0, b 1, b 2, b 1 + b 2 } Množina a + K pak bude vypadat takto: a + K = {a, a + b 1, a + b 2, a + b 1 + b 2 }, což jsou přesně body plochy P. 45 z 52

Afinní podprostor O cosetu v předchozí větě řekneme, že se jedná o afinní podprostor dimenze 2. Jiným slovem také flat. Pokud má flat dimenzi s, mluvíme o s-flatu. 3-flat je tak celý prostor Z 3 2, 2-flat jsou plochy, 1-flat jsou přímky a 0-flat jsou body. Stejně, jako jsme všechny plochy vyjádřili pomocí cosetů podprostoru dimenze 2, můžeme všechny přímky vyjádřit jako cosety podprostoru dimenze 1 atd. Pokud máme dva flaty L a L, které mají charakteristické funkce f L a f L pak jejich průnik L L je roven součinu f L f L. 46 z 52

R(1,3) a R(2,3) Reed-Mullerův kód R(1, 3) je roven množině všech charakteristických funkcí všech ploch v prostoru Z 3 2. Viz výčet všech ploch. Reed-Mullerův kód R(2, 3) je roven obalu množině všech ploch a všech přímek. Proč nestačí jen množina ploch a přímek? Polynom x 0 + x 1 x 2 je stupně 2 a tak je v R(2, 3). Přitom má charakteristickou funkci 01101010. Funkce má čtyři jedničky, což znamená čtyři body. Přímka je přitom tvořena dvěma body. Tj. neexistuje přímka, která by popsala polynom x 0 + x 1 x 2. Stačí ale vzít plochu x 0 a přímku danou součinem ploch x 1 x 2 jako lineární kombinaci. 47 z 52

Zobecnění prostoru Z 3 2 Nechť Z m 2 je binární Euklidovský m-dimenzionální prostor, který obsahuje 2 m bodů p 0,..., p 2 m 1, kde p 0 = 00... 00, p 1 = 00... 01,..., p 2 m 1 = 11... 11 Dále nechť K je vektorový r-dimenzionální podprostor Z m 2. Každý coset a + K = {a + b b K} se nazývá r-flat. Věta: Charakteristická funkce r-flatu je zároveň boolovský polynom stupně m r. 48 z 52

Reed-Mullerovy kódy jako r-flaty Reed-Mullerův kód R(r, m) můžeme vidět jako obal charakteristických funkcí flatů o dimenzi nejméně m r. R(1, 3) jsou s-flaty, kde s 2, tedy s {2, 3}, tj. obal ploch a celého prostoru. R(2, 3) jsou s-flaty, kde s 1, tedy s {1, 2, 3}, tj. obal přímek, ploch a celého prostoru. R(3, 3) jsou s-flaty, kde s 0, tedy s {0, 1, 2, 3}, tj. obal bodů, přímek, ploch a celého prostoru. 49 z 52

50 z 52 Dekódování

Skalární součin Skalární součin slov a = a 1 a n a b = b 1 b n je roven a b = n a i b i. i=1 51 z 52

Algoritmus pro dekódování První krok: přijeme slovo w, spočítáme paritu všech (r + 1)-flatů. Řekneme, že flat L má sudou paritu, pokud w L = 0, jinak má lichou paritu. Rekurzivní krok: pro všechny s = r, r 1,..., 0 spočítáme paritu s-flatu L tak, že řekneme, že L je sudý, pokud je L obsažen ve více sudých (s + 1)-flatech než v lichých. Jinak je lichý. Poslední krok: Opravíme i-tý bit slova w právě tehdy, když 0-flat {p i } má lichou paritu. 52 z 52