- csko blogja
- A hozzászóláshoz be kell jelentkezni
- 1183 megtekintés
Hozzászólások
x ismert mindkét fél számára? Ha igen, akkor elég triviálisnak tűnik.
- A hozzászóláshoz be kell jelentkezni
Nem ismert, es tetszoleges, szoval tetszoleges (x, i)-re mukodnie kell a dolognak.
- A hozzászóláshoz be kell jelentkezni
akkor, ha jol ertem, nem lehet megoldani a feladatot mert 70 bitnyi informaciot kellene kinyerni 64 bitbo"l.
- A hozzászóláshoz be kell jelentkezni
6 bitnyit kell kinyerni 64 bitbol (i erteket kell tovabbitani), de nem akarmilyen 64 bitbol.
- A hozzászóláshoz be kell jelentkezni
Akarmilyen 64 bitbol, ugy hogy max egy bitet valtoztathatsz, es az eredeti bitsorozat ismeretlen (vagyis nem hordoz informaciot)
Ami azt jelenti, hogy a valtoztatott bit pozicioja szinten ismeretle (vagyis nem hordoz informaciot).
- A hozzászóláshoz be kell jelentkezni
Nem letezik ilyen algoritmus.
Egyreszt ha a kuldo fel nem tudja, mit varjon, hogyan ertelmezze az adatot (mert lehet valtoztatas nelkuli forrasadat vagy 1 biten valtoztatott forrasadat barmelyik input), ezert gyakorlatilag 0 hasznos bitet tovabbitasz.
- A hozzászóláshoz be kell jelentkezni
Az "x-től legfeljebb 1 Hamming-távolsagra levő szám" megszoritas miatt a tovabbitando informacio maximalis hosszusagat lecsokkented egy bitre altalanos esetben, vagyis a feladat az lenne, hogy tovabbitsunk 1 biten 6 bitet. Ilyen algoritmus meg trivialisan nem letezik.
- A hozzászóláshoz be kell jelentkezni
Valojaban 0 biten kellene 6 bitet tovabbitani, x nem ismert mindket fel szamara.
- A hozzászóláshoz be kell jelentkezni
A paritas hordoz egy bitnyi informaciot, es "max 1 Hamming-tavolsag"-ba pont belefer az, hogy 1 bitnyi informaciot at tudsz vinni.
Tobbet csak ha "max n Hamming tavolsag" lenne a feltetel, akkor at tudnal vinni n bitet is, tetszoleges x-el.
- A hozzászóláshoz be kell jelentkezni
Jogos, igazad van.
- A hozzászóláshoz be kell jelentkezni
Addig eljutottam, hogy kell egy leképzés a 64 bites számokról az 1-64 számokra, ami olyan, hogy minden két Hamming-távolságra lévő számpárhoz különböző értéket rendel. Magyarul amikor megvan az x, akkor 64 féle számot küldhetünk tovább. Ha ezek mindegyikéhez más szám van rendelve, akkor mindig ki tudjuk választani azt, amelyikhez épp i van rendelve, és azt küldjük tovább.
Elkezdtem teljes indukcióval nézni. 2 bites számra működik. 3 bitesre nem. Jajj.
Magamtól valószínűleg még most is gondolkodnék, de szerencsére éppen nálunk volt egy matematikus barátom, aki percek alatt megoldotta a problémát reggeli közben. (bár csak én ettem, ő kizárólag szellemi táplálékkal él :-)
Gondolom tudod a megoldást, és csak gondolkodtatónak adtad fel, igaz? Úgyhogy nem spoilerezem el.
- A hozzászóláshoz be kell jelentkezni
Nyugodtan lehet spoilerezni :).
- A hozzászóláshoz be kell jelentkezni
Az első commentemben hibásan fogalmaztam: "ami olyan, hogy minden két Hamming-távolságra lévő számpárhoz különböző értéket rendel" helyett: ami olyan, hogy x összes 1 Hamming távolságú szomszédjához különböző értéket rendel.
Spoiler:
Induljunk ki a moduló 2 maradékosztály feletti testből. (Lásd:
véges testek a Wikipédián ) Vegyük úgy, hogy az x egy 64 elemű vektor ezen test felett. (Tehát a 64 bites szám minden bitje egy vektor koordináta.) Amit hozzárendelünk, az pedig egy 6 hosszú vektor (ugye 2 a hatodikon 64, tehát pont 64 különböző 6 hosszú vektor van).
A hozzárendelés legyen lineáris, tehát egy mátrixszal meghatározható. A hozzárendelés mátrixa tehát 64x6-os lesz. Ha ezt úgy vesszük fel, hogy minden oszlopa különböző legyen (tehát mind a 64 különböző 6 hosszú vektor pontosan egyszer szerepel benne), akkor az x egy Hamming távolságú szomszédai mind különböző 6 hosszú vektorra fognak leképződni, tehát ez a leképzés megfelel a követelményeknek.
A levezetésből látszik, hogy a 64 bithez hasonlóan a kettő hatvány bitszámokra működik a megoldás. Ezért nem működött 3-ra a teljes indukciós próbálkozás :-).
- A hozzászóláshoz be kell jelentkezni
Ezt felhasználva írtam rá enkóder/dekódert:
- A hozzászóláshoz be kell jelentkezni
OK, ez mukodik.
Meg lehet oldani kevesebb ta'rral (pl. konstans)? Mennyi a legkevesebb ta'r amivel megoldhato?
- A hozzászóláshoz be kell jelentkezni
A mátrixot nem kell eltárolni, csak érdemes, mert úgy gyorsabban lehet számolni. De 6*64bit nem olyan is olyan sok.. vagy mire gondoltál?
- A hozzászóláshoz be kell jelentkezni
Osszuk a 2^64 számot 64 diszjunkt halmazba (G1..G64) úgy, hogy egy tetszőleges (x,i) párhoz létezzen a Gi halmaznak egy olyan eleme, aminek x-től vett távolsága 1. Mivel egy tetszőleges x-hez 65 olyan x' tartozik, aminek távolsága legfeljebb 1, ezért létezhet ilyen algoritmus.
- A hozzászóláshoz be kell jelentkezni
Nem tudsz ilyet csinálni.
A fogadó oldalon kapsz egy számot, ez legyen y. Hogyan adod meg i értékét?
Hiszen nem tudod, hogy az y = x' vagy az eredeti x. Így nem is tudod, hogy melyik Gi halmazban kell keresni az értéket.
- A hozzászóláshoz be kell jelentkezni
A Gi halmazokat a küldő és a fogadó is ismeri. A küldő az x-et legfeljebb egy bittel változtatja úgy, hogy az x' az i-nek megfelelő csoportba kerüljön. A fogadó megnézi, hogy y melyik G-ben van, és ennyi.
ábra: https://dl.dropbox.com/u/3048596/graph4.png
Az ugyanolyan színek jelentenek egy G-t, az élek pedig az 1-távolságú átmeneteket. Egy tetszőleges számot legfeljebb egy bittel kell megváltoztatni, hogy adott színű legyen.
- A hozzászóláshoz be kell jelentkezni
Igy van, ez gyakorlatilag egy 4-dimenzios hiperkocka. Avagy, 2 darab megfeleloen egymasra illesztett 3-dimenzios hiperkocka.
- A hozzászóláshoz be kell jelentkezni