500 likes | 714 Views
Információelmélet. Nagy Szilvia 8. Hamming-kódok. Információelmélet – Hamming-kódok. Hamming-kódok. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód. A Hamming-kódok olyan perfekt kódok, amelyek egy egyszerű hibát képesek kijavítani.
E N D
Információelmélet Nagy Szilvia 8. Hamming-kódok 2005.
Információelmélet – Hamming-kódok Hamming-kódok Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A Hamming-kódok olyan perfekt kódok, amelyek egy egyszerű hibát képesek kijavítani. Megközelítés: adott nk paritásszegmens-hosszhoz megtalálni a maximális k üzenethosszt, amelyre a kód egy hibát még tud javítani (azaz amelyre a kódtávolság még 2-nél nem kisebb).
Információelmélet – Hamming-kódok Bináris Hamming-kód Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Bináris Hamming-kódok esetén mind a tömörített üzenet, mind a kódszavak csak 0-kból és 1-esekből állnak: b{0,1}k, c{0,1}n. A csatorna által a v-ben létrehozott (egyetlen) hiba csak 1 nagyságú lehet, csak a pozíciója kérdéses.
Információelmélet – Hamming-kódok Bináris Hamming-kód Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Legyen a paritásmátrix Egy hiba esetén Δc egyetlen 1-est (és nk1 db nullát) tartalmaz, ha az az egyetlen 1-es az i-edik helyen van,
Információelmélet – Hamming-kódok Bináris Hamming-kód Írjuk egymás alá az összes lehetséges nem nulla szindrómát – az összes nem csupa nullából álló nk hosszúságú vektort: • Az így kapott HT paritásmátrixszal szorozzunk meg egy vektort, • A kapott szindrómát keressük meg HT-ben: ahányadik sorban az van, annyiadik helyen hibázott a csatorna. • Arra a helyre ellentétes bitet írunk, és a vektort kijavítottuk. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód HT oszlopainak száma nk, az összes lehetséges nk hosszú, 0-kból és 1-ekbők álló vektorok száma: Ebből egy tiszta nullából áll, így a HT sorainak száma: Néhány össze- tartozó n és k érték: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
a tiszta 0 vektor nem kell. egységmátrixot alkotnak, ők lesznek HT alsó 4 sora Információelmélet – Hamming-kódok Bináris Hamming-kód Nézzük az n=15, k=11 esetet, ha a kód szisz-tematikus. A HT oszlopainak száma 4, a 4 hosszúságú, 0-ból és 1-ből álló vektorok: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A többi vektort tetszőleges sorrendben felírva megkapjuk HT felső n−k sorát
Információelmélet – Hamming-kódok Bináris Hamming-kód A HT felső n−k sorát meghagyjuk, ez P’. P’ ellentettje – P – önmaga. Eléírjuk az egységmátrixot és megkapjuk G-t: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód Legyen a k=11 hosszú üzenet: b=( 1 1 0 1 0 0 0 1 1 0 1 ). A hozzárendelt c kódszó: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód c paritásszegmense c üzenetszegmense
Információelmélet – Hamming-kódok Bináris Hamming-kód Tegyük fel, hogy a 8. helyen hibázott a csatorna, a kapott vektor helyett A szindrómája (HT-vel vett szorzata): Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
8. helyen van a hiba 8. sor ezt a bitet kell kicserélni a paritás-szegmenst el kell hagyni dekódolt üzenet Információelmélet – Hamming-kódok Bináris Hamming-kód Tegyük fel, hogy a 8. helyen hibázott a csatorna, a kapott vektor helyett A szindrómája (HT-vel vett szorzata): Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód Tegyük fel, hogy a 8. és 12. helyen hibázott a csatorna, a kapott vektor helyett A szindrómája (HT-vel vett szorzata): Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód Tegyük fel, hogy a 8. és 12. helyen hibázott a csatorna, a kapott vektor helyett A szindrómája (HT-vel vett szorzata): Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód eszerint a 13. helyen van a hiba, ott javítva rossz üzenetet kapunk a Hamming-kód egynél több hiba javítására nem alkalmas, nem is módosítható úgy, hogy alkalmas legyen
a tiszta 0 vektor nem kell. egységmátrixot alkotnak, ők lesznek HT alsó 3 sora A többi vektort tetszőleges (itt csökkenő) sorrendben felírva megkapjuk HT felső n−k sorát Információelmélet – Hamming-kódok Bináris Hamming-kód Nézzük az n=7, k=4 esetet, szisztematikus kódra. A HT paritásmátrix oszlopainak száma 3, a 3 hosszúságú, 0-ból és 1-ből álló vektorok: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód A HT felső n−k sorát meghagyjuk, eléírjuk az egységmátrixot és megkapjuk G-t: Legyen a vett (csatornakódolt és torzult) üzenet 1 1 0 0 0 1 0 és 1 1 0 0 1 0 0. Mik lehettek az eredeti (tömörített) üzenetek, mivé dekódolja a vevő őket? Hányadik pozícióban rontott a csatorna?( Emlékeztetőül a paritásmátrix: ) Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Bináris Hamming-kód Ellenőrizük, hogy GHT=0: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Egy számokból álló GF(N)={0, 1, …, N−1}halmaz véges test, vagy Galois-test, ha értelmezve van a t és uV elemei között egy összeadás ( t + u GF(N)) és egy szorzás ( t u GF(N)) amelyekre: 1.) • t + u = u + t (az összeadás kommutatív) • ha s GF(N), ( s + t )+ u = s + ( t + u ) (asszociatív) • 0, melyre t GF(N): t + 0 = t • t GF(N)-re −t , melyre t + (−t ) = 0 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Egy számokból álló GF(N)={0, 1, …, N−1}halmaz véges test, vagy Galois-test, ha értelmezve van a t és uV elemei között egy összeadás ( t + u GF(N)) és egy szorzás ( t u GF(N)) amelyekre: 2.) • tu = ut (a szorzás kommutatív) • ha s GF(N), ( st ) u = s ( tu ) (asszociatív) • 1, melyre t GF(N): t 1 = t • t GF(N)-re t −1 , melyre t ( t −1) = 1 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Egy számokból álló GF(N)={0, 1, …, N−1}halmaz véges test, vagy Galois-test, ha értelmezve van a t és uV elemei között egy összeadás ( t + u GF(N)) és egy szorzás ( t u GF(N)) amelyekre: 3.) • ha s GF(N), s(t + u ) = st + su (+ és disztributív) • t GF(N): t 0 = 0. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Példa: a {0,1} halmaz a következő szorzó és összeadó táblával: Ez a hagyományos összeadás és szorzás azzal a kitétellel, hogy ha az eredmény kivezetne a halmazból, akkor a 2-vel való osztás utánimaradékát vesszük. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Ezek teljesülése egyértelmű: a modulo 5 osztás és az összeadás felcserélhető a nullelem a 0 Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Legyen GF(5)={0, 1, 2, 3, 4}elemei között értelmezett összeadás és szorzás a szokásos számok közötti összeadás és szorzás azzal a megkötéssel, hogy ha az eredmény kivezetne a halmazból, akkor annak 5-tel való osztása utáni maradékát vesszük eredménynek (moduló 5 összeadás és szorzás) 1.) • t + u = u + t • ha s GF(N), ( s + t )+ u = s + ( t + u ) • 0, melyre t GF(N): t + 0 = t • t GF(N)-re −t , melyre t + (−t ) = 0 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről 1.) • t GF(N)-re −t , melyre t + (−t ) = 0 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód nem véges testek esetén egy szám ellentettje negatív lenne. Vegyük ennek 5-tel való osztása után keletkező maradékot, ez lesz a szám ellentettje:
Ezek teljesülése egyértelmű: a modulo 5 osztás és a szorzás felcserélhető az egységelem az 1 Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Legyen GF(5)={0, 1, 2, 3, 4}elemei között értelmezett összeadás és szorzás a szokásos számok közötti összeadás és szorzás azzal a megkötéssel, hogy ha az eredmény kivezetne a halmazból, akkor annak 5-tel való osztása utáni maradékát vesszük eredménynek (moduló 5 összeadás és szorzás) 2.) • tu = ut • ha s GF(N), ( st ) u = s ( tu ) • 1, melyre t GF(N): t 1 = t • t GF(N)-re t −1 , melyre t ( t −1) = 1 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről 2.) • t GF(N)-re t −1 , melyre t ( t −1) = 1 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód nem véges testek esetén egy szám inverze tört lenne. Az 5 prímszám, sem 2, sem 3, sem pedig 4 nem osztója, ha ezek közül kettőt összeszorzunk, nem kaphatunk 0 maradékot. A szorzótáblájuk:2 inverze 3, 3-é 2, 4-é pedig önmaga. (1 inverze eleve önmaga)
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről 2.) • t GF(N)-re t −1 , melyre t ( t −1) = 1 Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód nem véges testek esetén egy szám inverze tört lenne. Az 5 prímszám, sem 2, sem 3, sem pedig 4 nem osztója, ha ezek közül kettőt összeszorzunk, nem kaphatunk 0 maradékot. A szorzótáblájuk: Egy t szám inverze a GF(5) véges testen belül az az elem amellyel összeszorozva az eredmény 5-tel osztva 1 maradékot ad.
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Legyen GF(5)={0, 1, 2, 3, 4}elemei között értelmezett összeadás és szorzás a szokásos számok közötti összeadás és szorzás azzal a megkötéssel, hogy ha az eredmény kivezetne a halmazból, akkor annak 5-tel való osztása utáni maradékát vesszük eredménynek (moduló 5 összeadás és szorzás) 3.) • ha s GF(N), s(t + u ) = st + su • t GF(N): t 0 = 0. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Ez a két feltétel is teljesül. Például: 3(2+1)=9≡4 mod 5 32+31=9≡4 mod 5
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Az iménti eljárás általánosítható tetszőleges Nprímszámra: Legyen GF(N)={0, 1, …, N−1}elemei között értelmezett összeadás és szorzás a szokásos számok közötti összeadás és szorzás azzal a megkötéssel, hogy ha az eredmény kivezetne a halmazból, akkor annak N-nel való osztása utáni maradékát vesszük eredménynek (moduló N összeadás és szorzás). A véges számtest feltételei közül az ellentett és az inverz létezését kivéve mindegyik triviálisan teljesül. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Inverz és ellentett elemet az 5-ös esethez hasonlóan: • −t = N − t • A t−1: t GF(N)={t0 + t 1 + t 2 + …+ +t (N−1)} számok mindegyike más és más, így közülük az egyik biztosan 1 (az t inverze, amelyikkel összeszorozva az 1-et adja). Indoklás: Legyen s ≠ u , s, u GF(N). Ha ts = tu , akkor így s −u = 0, ami ellentmond a kezdőfeltételnek. (vagy t=0, de az nem érdekes) Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Egy tGF(N) elem hatványait is lehet értelmezni, mint önmagával vett szorzatait: Rekurzív definícióval tn-edik hatványa: • adott t1=t • amíg i < n • t i + 1 = t i t. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről A tGF(N) elem rendje Az 1 rendje 1, a 0-nak nincs rendje. Az a tGF(N) elem, amelyre t első N−1 hatványa mind különböző a véges test primitíveleme. Minden sGF(N) előáll a primitívelem hatványaként. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
mindkettő lehet primitívelem, a 3-at választjuk. Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Nézzük meg a GF(5) elemeinek hatványait, rendjeit és azt, hogy hogyan állnak elő a primitívelemből: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Nézzük a GF(7) elemeinek szorzótábláját, inverzeit, hatványait, rendjeit és azt, hogy hogy állnak elő a primitívelemből: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Minden „≡” jel modulo 7 ekvivalenciát jelent.
Információelmélet – Hamming-kódok Matematikai kitérő – Véges testekről Nézzük a GF(7) elemeinek szorzótábláját, inverzeit, hatványait, rendjeit és azt, hogy hogy állnak elő a primitívelemből: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Minden „≡” jel modulo 7 ekvivalenciát jelent.
Információelmélet – Hamming-kódok Nembináris Hamming-kód Nembináris Hamming-kódok esetén mind a tömörített üzenet, mind a kódszavak csak 0-n és 1-esen kívül más egész számokat is tartalmaznak: b{0, 1, …, N1}k, c{0, 1, …, N1}n, ahol N prím. A csatorna által a v-ben létrehozott (egyetlen) hiba nem csak 1 nagyságú lehet, így a pozícióján kívül a nagyságát is ki kell találni. Írjuk fel a paritásmátrixot itt is alakban. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód Egyetlen hiba esetén a Δc hibavektor egyetlen nem nulla elemet (és nk1 db nullát) tartalmaz. Legyen a hiba nagysága Δc, és legyen az i-edik pozícióban. Ekkor a szindróma: Ha HT sorainak – hi-knek – első nem nulla eleme 1, akkor a szindróma első nem nulla eleme pont Δc lesz. Írjuk egymás alá az összes lehetséges olyan nem nulla, nk hosszúságú vektort, amelynek az első nem nulla eleme 1: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód Írjuk egymás alá az összes lehetséges olyan nem nulla, nk hosszúságú vektort, amelynek az első nem nulla eleme 1: ha az így kapott HT paritásmátrixszal szorzunk meg egy vektort, a kapott szindróma első nem nulla eleme lesz a hiba nagysága (Δc). A szindrómát a hiba nagyságával elosztva kapott új vektort (s/Δc) megkeressük HT-ben, ahányadik sorban az van, annyiadik helyen hibázott a csatorna. Azon a helyen a kapott hibanagysággal (Δc-vel) korrigálunk, és a vektort kijavítottuk. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
a nem csupa nulla nk hosszú vektorok száma Információelmélet – Hamming-kódok Nembináris Hamming-kód Az összes lehetséges olyan nem nulla, nk hosszúságú vektort, amelynek az első nem nulla eleme 1 száma, azaz az n kódszóhossz: Átrendezve: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód az első nem nulla elem N1-féle lehet, ebből nekünk egy felel meg (az 1-es)
a Hamming-kódok perfekt kódok Információelmélet – Hamming-kódok Nembináris Hamming-kód Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A gömbpakolási korlát (Hamming-korlát) n=1 hibára (r=N):
egységmátrixot alkotnak, ők lesznek HT alsó 2 sora A többi vektort tetszőleges sorrendben felírva megkapjuk HT felső n−k sorát Információelmélet – Hamming-kódok Nembináris Hamming-kód Legyen N=7, nk =2 és a kód szisztematikus. Ekkor n=8, k=6. A HT oszlopainak száma 2, az olyan 2 hosszúságú vektorok, amelyeknek az első nem 0 eleme 1: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód HT felső hat sorának ellentetteiből álló P mátrix: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód Eléírva a 6×6-os egységmátrixot megkapjuk a kód generátormátrixát. Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Legyen a kódolandó üzenet b = 3 5 1 2 2 6. A kapott kódszó c=b∙G = 3 5 1 2 2 62 3
Információelmélet – Hamming-kódok Nembináris Hamming-kód A csatorna hibázzon a negyedik pozícióban 3-at. Az üzenet ekkor3 5 1 2 2 6 2 3 helyett3 5 1 5 2 6 2 3 lesz. A kapott szindróma: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A szindróma első nem nulla eleme 3, azzal osztva a kapott vektor (1 1). Ez a HT mátrix negyedik sora. A negyedik helyen levő számból levonunk 3-at, majd elhagyjuk a paritásszegmenst, így megkapjuk az eredeti üzenetet: (3 5 1 2 2 6) -ot
Információelmélet – Hamming-kódok Nembináris Hamming-kód A csatorna hibázzon a nyolcadik pozícióban 5-öt. Az üzenet ekkor 3 5 1 2 2 6 2 3 helyett 3 5 1 2 2 6 2 1 lesz. A kapott szindróma: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód A csatorna hibázzon a nyolcadik pozícióban 5-öt. Az üzenet ekkor 3 5 1 2 2 6 2 3 helyett 3 5 1 2 2 6 2 1 lesz. A kapott szindróma: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A szindróma első nem nulla eleme 5, azzal osztva a kapott vektor (0 1). Ez a HT mátrix nyolcadik sora. A 8. helyen levő számból levonunk 5-öt. (Az 5 levonása ekviva-lens 5≡2 mod 7 hozzáadásával) Elhagyjuk a paritásszegmenst, így megkapjuk az eredeti üzenetet: (3 5 1 2 2 6) -ot
egységmátrixot alkotnak, ők lesznek HT alsó 3 sora A többi vektort tetszőleges sorrendben felírva megkapjuk HT felső n−k sorát Információelmélet – Hamming-kódok Nembináris Hamming-kód Legyen N=3, nk =3 és a kód szisztematikus. Ekkor n=13, k=10. A HT oszlopainak száma 3, az olyan 3 hosz-szúságú vektorok, amelyeknek az első nem 0 eleme 1: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód HT felső hat sorának ellentetteiből álló P mátrix: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
Információelmélet – Hamming-kódok Nembináris Hamming-kód A P mátrixból keletkezett G: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód Legyen a kódolni kívánt üzenet b = 1 1 0 2 1 2 0 0 1 2 . A kapott kódszó c = b ∙ G = 1 1 0 2 1 2 0 0 1 21 1 1
Információelmélet – Hamming-kódok Nembináris Hamming-kód A csatorna hibázzon a negyedik pozícióban 2-t. Az üzenet ekkor1 1 0 2 1 2 0 0 1 2 1 1 1 helyett1 1 0 1 1 2 0 0 1 2 1 1 1 lesz, mivel 2+2=4≡1 mod 3. A kapott szindróma: Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód
A negyedik helyen levő számból levonunk 2-t azaz hozzáadunk 32=1-et, majd elhagyjuk a paritásszegmenst, így megkapjuk az eredeti üzenetet. Információelmélet – Hamming-kódok Nembináris Hamming-kód Hamming-kódok Definíció Bináris Hamming-kód Véges számtestek Nembináris Hamming-kód A szindróma első nem nulla eleme 2, azzal osztva a kapott vektor: (1 0 2), mivel 1/2 = 1 ∙ 21 = 1 ∙ 2 (2∙2=4≡1 mod 3, így 2 inverze önmaga). Ez a HT mátrix negyedik sora.