Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos
Koodausteoria 10 op Kontaktiopetusta 50 h, 26.5. - 26.6. ma 10-14, ti 10-13, to 10-13 Aloitusviikolla poikkeuksellisesti ke 10-13 torstain sijaan. Sali: M204 Opettaja: Topi Törmä Huone M239 topi.torma@oulu.fi http://cc.oulu.fi/ tormtopi/koodausteoria/ Tuutorointiajat? Esitiedot: Lineaarialgebra I ja II; Lukuteoria ja ryhmät; Renkaat, kunnat ja polynomit; Permutaatiot, kunnat ja Galois n teoria (ent. Algebra II) Topi Törmä Matemaattisten tieteiden laitos 2 / 31
1. Perusteita Topi Törmä Matemaattisten tieteiden laitos 3 / 31
Tiedonsiirtojärjestelmä tietolähde m kooderi tiedonsiirtokanava c kohina r dekooderi m vastaanottaja Topi Törmä Matemaattisten tieteiden laitos 4 / 31
Määritelmä 1.3.1. Koodausjärjestelmäksi sanotaan järjestettyä nelikköä (M, A, n, γ), missä M ja A ovat äärellisiä epätyhjiä joukkoja, n Z + ja γ on injektio M A n. Joukkoa M sanotaan viestiaakkostoksi, joukkoa A koodiaakkostoksi, joukkoa C = γ(m) koodiksi, lukua n koodin C pituudeksi ja kuvausta γ koodauskuvaukseksi. Topi Törmä Matemaattisten tieteiden laitos 5 / 31
Määritelmä 1.3.1. Koodausjärjestelmäksi sanotaan järjestettyä nelikköä (M, A, n, γ), missä M ja A ovat äärellisiä epätyhjiä joukkoja, n Z + ja γ on injektio M A n. Joukkoa M sanotaan viestiaakkostoksi, joukkoa A koodiaakkostoksi, joukkoa C = γ(m) koodiksi, lukua n koodin C pituudeksi ja kuvausta γ koodauskuvaukseksi. Määritelmä 1.3.2. Koodaus-dekoodausjärjestelmäksi sanotaan järjestettyä kuusikkoa (M, A, n, γ,?, δ), missä (M, A, n, γ) on koodausjärjestelmä,? on symboli, joka ei kuulu joukkoon M, ja δ on kuvaus A n M {?}, jolle δ(γ(m)) = m kaikilla m M. Kuvausta δ sanotaan dekoodauskuvaukseksi ja symbolia? virheilmoitussymboliksi. Topi Törmä Matemaattisten tieteiden laitos 5 / 31
Merkintöjä A = #A = joukon A alkioiden lukumäärä. Topi Törmä Matemaattisten tieteiden laitos 6 / 31
Merkintöjä A = #A = joukon A alkioiden lukumäärä. F q on kertalukua q oleva äärellinen kunta. Topi Törmä Matemaattisten tieteiden laitos 6 / 31
Merkintöjä A = #A = joukon A alkioiden lukumäärä. F q on kertalukua q oleva äärellinen kunta. F n = {(a 1, a 2,..., a n ) a i F } = {(a 1 a 2... a n ) a i F } = F 1 n (vaakavektorit) Topi Törmä Matemaattisten tieteiden laitos 6 / 31
Merkintöjä A = #A = joukon A alkioiden lukumäärä. F q on kertalukua q oleva äärellinen kunta. F n = {(a 1, a 2,..., a n ) a i F } = {(a 1 a 2... a n ) a i F } = F 1 n (vaakavektorit) F (n) = {(a 1 a 2... a n ) T a i F } = F n 1 (pystyvektorit) Topi Törmä Matemaattisten tieteiden laitos 6 / 31
Määritelmä 3.1.4. Avaruuden F n alkioiden a ja b Hamming-etäisyydeksi d H (a, b) = d(a, b) sanotaan niiden komponenttien lukumäärää, joissa a ja b eroavat toisistaan. Avaruuden F n alkion a Hamming-painoksi wt H (a) = wt(a) sanotaan vektorin a nollasta eroavien komponenttien lukumäärää. Topi Törmä Matemaattisten tieteiden laitos 7 / 31
Määritelmä 3.1.4. Avaruuden F n alkioiden a ja b Hamming-etäisyydeksi d H (a, b) = d(a, b) sanotaan niiden komponenttien lukumäärää, joissa a ja b eroavat toisistaan. Avaruuden F n alkion a Hamming-painoksi wt H (a) = wt(a) sanotaan vektorin a nollasta eroavien komponenttien lukumäärää. Huomautus 1. d(a, b) = wt(a b), 2. wt(a) = d(a, 0). Topi Törmä Matemaattisten tieteiden laitos 7 / 31
Määritelmä 3.1.4. Avaruuden F n alkioiden a ja b Hamming-etäisyydeksi d H (a, b) = d(a, b) sanotaan niiden komponenttien lukumäärää, joissa a ja b eroavat toisistaan. Avaruuden F n alkion a Hamming-painoksi wt H (a) = wt(a) sanotaan vektorin a nollasta eroavien komponenttien lukumäärää. Huomautus 1. d(a, b) = wt(a b), 2. wt(a) = d(a, 0). Esimerkki Olkoot a = (0, 1, 0, 1, 1) Z 5 2 ja b = (1, 1, 0, 0, 1) Z5 2. Laske d(a, b), wt(a) ja wt(b). Topi Törmä Matemaattisten tieteiden laitos 7 / 31
Lause Pari (F n, d) on metrinen avaruus. Ts. kaikille x, y, z F n pätee 1. d(x, y) 0 2. d(x, y) = 0 x = y 3. d(x, y) = d(y, x) 4. d(x, y) d(x, z) + d(z, y). Todistus: Harjoitustehtävä. Topi Törmä Matemaattisten tieteiden laitos 8 / 31
Määritelmä Joukkoa B(a, e) = {x F n d(x, a) e} sanotaan a-keskiseksi e-säteiseksi palloksi ja joukkoa S(a, e) = {x F n d(x, a) = e} a-keskisen e-säteisen pallon pinnaksi. Topi Törmä Matemaattisten tieteiden laitos 9 / 31
Määritelmä 1.3.5. Koodin C minimietäisyydeksi sanotaan lukua d min C = min{d(a, b) a, b C, a b}. Koodia C sanotaan e virhettä korjaavaksi koodiksi, jos koodisanakeskiset e-säteiset pallot ovat erillisiä. Jos lisäksi nämä pallot yhdessä täyttävät koko avaruuden F n, niin koodia C sanotaan täydelliseksi e virhettä korjaavaksi koodiksi. Koodia C F n, jolle C = K ja d min C = d, sanotaan (n, K, d)-koodiksi. Lukua R(C) = 1 n log q C sanotaan koodin C informaatiosuhteeksi. Topi Törmä Matemaattisten tieteiden laitos 10 / 31
Huomautus 1.3.6. Sen, että koodi C on e virhettä korjaava, voi ilmaista myös muodossa d min C 2e + 1. Koodin C täydellisyyden ehto toisin ilmaistuna on c C B(c, e) = F n. Minimietäisyyden selville saaminen vaatii yleensä C ( C 1) 2 laskutoimitusta. Jos C = q k, niin informaatiosuhde on R(C) = k n. Topi Törmä Matemaattisten tieteiden laitos 11 / 31
Huomautus 1.3.6. Sen, että koodi C on e virhettä korjaava, voi ilmaista myös muodossa d min C 2e + 1. Koodin C täydellisyyden ehto toisin ilmaistuna on c C B(c, e) = F n. Minimietäisyyden selville saaminen vaatii yleensä C ( C 1) 2 laskutoimitusta. Jos C = q k, niin informaatiosuhde on R(C) = k n. Määritelmä 1.3.8. Dekoodausfunktiota δ sanotaan e virhettä korjaavaksi, jos δ(r) = m aina, kun d(γ(m), r) e. Topi Törmä Matemaattisten tieteiden laitos 11 / 31
2. Äärellisistä kunnista Topi Törmä Matemaattisten tieteiden laitos 12 / 31
2.1 Perustuloksia Lause 2.1.1. Rengas Z m on kunta, jos ja vain jos m on alkuluku. Topi Törmä Matemaattisten tieteiden laitos 13 / 31
2.1 Perustuloksia Lause 2.1.1. Rengas Z m on kunta, jos ja vain jos m on alkuluku. Määritelmä 2.1.2. Kunnan F karakteristikaksi n sanotaan pienintä sellaista positiivista kokonaislukua (jos on olemassa), että na := a } + {{ + a } = 0 kaikilla a F. n kpl Jos tällaista lukua n ei ole olemassa, sanotaan, että kunnan F karakteristika on 0. Topi Törmä Matemaattisten tieteiden laitos 13 / 31
Lause 2.1.3. Kunnan karakteristika on aina alkuluku tai 0. Topi Törmä Matemaattisten tieteiden laitos 14 / 31
Lause 2.1.3. Kunnan karakteristika on aina alkuluku tai 0. Lause 2.1.4. Jos kunnan F karakteristika on 0, niin sen suppein alikunta on Q (isomorfinen kunnan Q kanssa). Jos taas kunnan F karakteristika on alkuluku p, niin sen suppein alikunta on Z p (isomorfinen kunnan Z p kanssa). Topi Törmä Matemaattisten tieteiden laitos 14 / 31
Lause 2.1.3. Kunnan karakteristika on aina alkuluku tai 0. Lause 2.1.4. Jos kunnan F karakteristika on 0, niin sen suppein alikunta on Q (isomorfinen kunnan Q kanssa). Jos taas kunnan F karakteristika on alkuluku p, niin sen suppein alikunta on Z p (isomorfinen kunnan Z p kanssa). Lause 2.1.5. Äärellisen kunnan F kertaluku F (eli kunnan F alkioiden lukumäärä) on muotoa p m, missä m Z + ja p on kunnan F karakteristika. Topi Törmä Matemaattisten tieteiden laitos 14 / 31
2.2 Kunnan F p m konstruointi Topi Törmä Matemaattisten tieteiden laitos 15 / 31
2.2 Kunnan F p m konstruointi Lause 2.2.1. Olkoon p alkuluku ja g Z p [x] astetta m 1 oleva polynomi. Tällöin jäännösluokkarengas Z p [x]/ g(x) on kunta jos ja vain jos g on jaoton. Kyseisessä kunnassa on p m alkiota. Topi Törmä Matemaattisten tieteiden laitos 15 / 31
2.2 Kunnan F p m konstruointi Lause 2.2.1. Olkoon p alkuluku ja g Z p [x] astetta m 1 oleva polynomi. Tällöin jäännösluokkarengas Z p [x]/ g(x) on kunta jos ja vain jos g on jaoton. Kyseisessä kunnassa on p m alkiota. Jos merkitään α = x, niin yllä olevan mukaan F p m = { m 1 i=0 } a i α i ai Z p, g(α) = 0, missä g on astetta m 1 oleva renkaan Z p [x] jaoton polynomi. Kunnan F p m konstruoiminen on siis mahdollista heti, kun löytyy sopiva jaoton polynomi. Topi Törmä Matemaattisten tieteiden laitos 15 / 31
Lause 2.2.2. Olkoon F kunta. Jos f (x) F[x] ja a F, niin (x a) f (x) jos ja vain jos f (a) = 0. Topi Törmä Matemaattisten tieteiden laitos 16 / 31
Lause 2.2.2. Olkoon F kunta. Jos f (x) F[x] ja a F, niin (x a) f (x) jos ja vain jos f (a) = 0. Seuraus 2.2.3. Olkoon F kunta ja f F[x]. Jos deg f {2, 3}, niin f on jaoton, jos ja vain jos sillä ei ole nollakohtia kunnassa F. Topi Törmä Matemaattisten tieteiden laitos 16 / 31
Määritelmä 2.2.6. Kunnan F alkion a F (multiplikatiiviseksi) kertaluvuksi sanotaan pienintä sellaista k Z +, että a k = 1. Tätä merkitään k = ord a tai k = a. Topi Törmä Matemaattisten tieteiden laitos 17 / 31
Määritelmä 2.2.6. Kunnan F alkion a F (multiplikatiiviseksi) kertaluvuksi sanotaan pienintä sellaista k Z +, että a k = 1. Tätä merkitään k = ord a tai k = a. Määritelmä 2.2.7. Kunnan F q alkiota γ 0 sanotaan primitiiviseksi eli kunnan F q primitiivialkioksi, jos ord γ = q 1, ts. jos F q = γ = {γ k 0 k < q 1}. Astetta m olevaa polynomirenkaan F q [x] polynomia sanotaan primitiiviseksi, jos sillä on nollakohta, joka on kunnan F q m primitiivialkio. Topi Törmä Matemaattisten tieteiden laitos 17 / 31
Lause 2.2.8. Äärellisen kunnan nollasta eroavien alkioiden muodostama ryhmä on syklinen eli jokaisessa äärellisessä kunnassa on primitiivialkio. Jos γ on kunnan F q yksi primitiivialkio, niin kunnan F q primitiivialkiot ovat täsmälleen alkiot γ j, missä syt(j, q 1) = 1. Topi Törmä Matemaattisten tieteiden laitos 18 / 31
Lause 2.2.8. Äärellisen kunnan nollasta eroavien alkioiden muodostama ryhmä on syklinen eli jokaisessa äärellisessä kunnassa on primitiivialkio. Jos γ on kunnan F q yksi primitiivialkio, niin kunnan F q primitiivialkiot ovat täsmälleen alkiot γ j, missä syt(j, q 1) = 1. Seuraus 2.2.9. Kunnan F q jokainen alkio toteuttaa yhtälön x q x = 0 ja x q x = (x β). β F q Topi Törmä Matemaattisten tieteiden laitos 18 / 31
Lause 2.2.8. Äärellisen kunnan nollasta eroavien alkioiden muodostama ryhmä on syklinen eli jokaisessa äärellisessä kunnassa on primitiivialkio. Jos γ on kunnan F q yksi primitiivialkio, niin kunnan F q primitiivialkiot ovat täsmälleen alkiot γ j, missä syt(j, q 1) = 1. Seuraus 2.2.9. Kunnan F q jokainen alkio toteuttaa yhtälön x q x = 0 ja x q x = (x β). β F q Lause 2.2.10 Jos kunnan F karakteristika on p, niin siellä pätee yhtälö (x + y) p = x p + y p. Topi Törmä Matemaattisten tieteiden laitos 18 / 31
Seuraus 2.2.11. Jos l Z + ja β i F q, missä q = p m, niin ( k ) p l β i i=1 Jos edelleen f F q [x], niin = k i=1 β pl i. (f (x)) ql = f (x ql ). Topi Törmä Matemaattisten tieteiden laitos 19 / 31
Seuraus 2.2.11. Jos l Z + ja β i F q, missä q = p m, niin ( k ) p l β i i=1 Jos edelleen f F q [x], niin = k i=1 β pl i. Lause 2.2.13 (f (x)) ql = f (x ql ). Polynomi x pm x Z p [x] on renkaan Z p [x] niiden jaottomien ykköspolynomien (korkeimman potenssin kerroin 1) tulo, joiden asteet ovat luvun m tekijöitä. Topi Törmä Matemaattisten tieteiden laitos 19 / 31
Lause 2.2.14 Jokaista alkulukua p ja positiivista kokonaislukua m kohti renkaassa Z p [x] on jaoton ykköspolynomi, jonka aste on m. Topi Törmä Matemaattisten tieteiden laitos 20 / 31
Lause 2.2.14 Jokaista alkulukua p ja positiivista kokonaislukua m kohti renkaassa Z p [x] on jaoton ykköspolynomi, jonka aste on m. Lause 2.2.15 On olemassa kunta F p m. Topi Törmä Matemaattisten tieteiden laitos 20 / 31