AN kodlari - AN codes

AN kodlari[1] bor xatolarni tuzatuvchi kod arifmetik dasturlarda ishlatiladigan. Arifmetik kodlar odatda kompyuter protsessorlarida elektronika ishonchsiz bo'lganida uning arifmetik operatsiyalarining aniqligini ta'minlash uchun ishlatilgan. Arifmetik kodlar protsessorga xato yuz berganligini aniqlashga va uni tuzatishga yordam beradi. Ushbu kodlarsiz protsessorlar ishonchsiz bo'lar edi, chunki har qanday xatolar aniqlanmaydi. AN kodlari - bu butun sonlar uchun nomlangan arifmetik kodlar va kodli so'zlarni kodlash va dekodlash uchun ishlatiladigan.

Ushbu kodlar boshqa kodlarning ko'pchiligidan farq qiladi, chunki ular kod so'zlari orasidagi arifmetik masofani maksimal darajada oshirish uchun arifmetik og'irlikni ishlatadilar. og'irlik va masofani urish. Ikki so'z orasidagi arifmetik masofa - bu arifmetik amalni hisoblash paytida qilingan xatolar sonining o'lchovidir. Arifmetik masofadan foydalanish zarur, chunki arifmetik amaldagi bitta xato qabul qilingan javob bilan to'g'ri javob o'rtasida katta zarba masofasini keltirib chiqarishi mumkin.

Arifmetik og'irlik va masofa

Butun sonning arifmetik vazni bazada bilan belgilanadi

[iqtibos kerak ]

qayerda < , va . So'zning arifmetik masofasi uning tortish og'irligi bilan yuqori chegaralangan, chunki har qanday butun son uning standart polinom shakli bilan ifodalanishi mumkin. qaerda butun sondagi raqamlar. Barcha shartlarni qaerdan olib tashlash simulyatsiya qiladi uning tortish vazniga teng. Arifmetik og'irlik odatda beri tortish vaznidan kam bo'ladi salbiy bo'lishiga yo'l qo'yiladi. Masalan, butun son qaysi ikkilikning tortish og'irligi bor . Bu buyon arifmetik vaznning yuqori chegarasi . Ammo, beri salbiy bo'lishi mumkin, biz yozishimiz mumkin bu arifmetik og'irlikni tenglashtiradigan .

Ikki butun son orasidagi arifmetik masofa quyidagicha aniqlanadi

[iqtibos kerak ]

Bu arifmetik kodlarni tahlil qilishda ishlatiladigan asosiy ko'rsatkichlardan biridir.[iqtibos kerak ]

AN kodlari

AN kodlari butun sonlar bilan aniqlanadi va va dan butun sonlarni kodlash uchun ishlatiladi ga shu kabi

<

Har bir tanlov natijasida boshqa kod paydo bo'ladi kod masofasida foydali xususiyatlarni ta'minlash uchun cheklovchi omil bo'lib xizmat qiladi. Agar juda katta, bu juda kichik arifmetik og'irlikdagi kod so'zni butun kodning masofasini pasaytiradigan kodga kiritishi mumkin. Ushbu kodlardan foydalanish uchun arifmetik operatsiya ikkita butun sonda bajarilishidan oldin har bir butun songa ko'paytiriladi . Kod so'zlaridagi operatsiya natijasi bo'lsin . Yozib oling o'rtasida ham bo'lishi kerak ga to'g'ri dekodlash uchun. Kodni ochish uchun ajratish kifoya . Agar omil emas , unda kamida bitta xato ro'y berdi va eng katta echim eng kam arifmetik masofaga ega kod so'z bo'ladi. . Hamming masofasidan foydalanadigan kodlarda bo'lgani kabi, AN kodlari ham tuzatishi mumkin xatolar qaerda kodning masofasi.

Masalan, bilan AN kodi , qo'shish jarayoni va ikkala operandni kodlash bilan boshlanadi. Buning natijasida operatsiya amalga oshiriladi . Keyin, biz ajratadigan echimni topish uchun . Modomiki, hamonki; sababli, uchun >, bu kod ostida mumkin bo'lgan operatsiya bo'ladi. Faraz qilaylik, operandlarning har ikkitomonlama tasvirida shunday xatolik yuz berdi va , keyin . O'shandan beri e'tibor bering , qabul qilingan so'z va to'g'ri echim o'rtasidagi tortish og'irligi faqat keyin xatolar. Arifmetik og'irlikni hisoblash uchun olamiz sifatida ifodalanishi mumkin yoki . Ikkala holatda ham arifmetik masofa kutilganidek, chunki bu xatolar soni. Ushbu xatoni tuzatish uchun arifmetik masofa bo'yicha olingan so'zga eng yaqin kod so'zini hisoblash uchun algoritm ishlatilgan bo'lar edi. Algoritmlarni batafsil bayon qilmaymiz.

Kodning masofasi juda kichik bo'lmasligini ta'minlash uchun AN modul kodlarini aniqlaymiz. Modulli AN kod ning kichik guruhidir , qayerda . Kodlar modul masofasi bilan o'lchanadi, u grafika bilan belgilanadi, vertikallari elementlari hisoblanadi . Ikki tepalik va iff ulanadi

qayerda va <<, . Keyin ikki so'z orasidagi modul masofa - bu ularning grafadagi tugunlari orasidagi eng qisqa yo'lning uzunligi. So'zning modul og'irligi uning masofasidir bu tengdir

Amalda, ning qiymati odatda shunday tanlanadi chunki aksariyat kompyuter arifmetikasi hisoblangan shuning uchun kod chegaradan chiqib ketishi sababli qo'shimcha ma'lumot yo'qotilishi bo'lmaydi, chunki kompyuter ham chegaradan tashqarida bo'ladi. Tanlash shuningdek, boshqa kodlarga qaraganda masofa kattaroq bo'lgan kodlarni keltirib chiqaradi.

Bilan modulli vazndan foydalanish orqali , AN kodlari bo'ladi tsiklik kod.

ta'rifi: AN tsiklik kodi bu kod bu kichik guruh , qayerda .

Siklik AN kod halqaning asosiy idealidir . Butun sonlar mavjud va qayerda va AN kodining ta'rifini qondirish. Tsiklik AN kodlari tsiklik kodlarning quyi qismidir va bir xil xususiyatlarga ega.

Mandelbaum-Barrows kodlari

Mandelbaum-Barrows Kodlari - D. Mandelbaum va J. T. Barrows tomonidan kiritilgan tsiklik AN kodlarining bir turi.[2][3] Ushbu kodlar tanlash orqali yaratilgan bo'linmaydigan asosiy son bo'lish shu kabi tomonidan yaratilgan va va . Ruxsat bering bu erda musbat tamsayı bo'ling va . Masalan, tanlash va Natijada Mandelbaum-Barrows Code bo'ladi, shunday qilib < bazada .

Mandelbaum-Barrows kodlari masofasini tahlil qilish uchun bizga quyidagi teorema kerak bo'ladi.

teorema: Ruxsat bering generator bilan tsiklik AN kod bo'lishi va

Keyin,

dalil: Har biri deb taxmin qiling noyob tsiklikka ega NAF[4] vakili

Biz aniqlaymiz elementlar bilan matritsa qayerda va . Ushbu matritsa aslida barcha kod so'zlarning ro'yxati bu erda har bir ustun kod so'zi. Beri tsiklik, matritsaning har bir ustuni bir xil nolga ega. Endi hisoblashimiz kerak , bu bilan tugamaydigan kodli so'zlar sonidan ko'p marta . NAF davridagi bo'lish xususiyati sifatida, agar mavjud bo'lsa a bilan <. Beri bilan <, keyin <. So'nggi nolga teng bo'lgan butun sonlar soni . Buni ko'paytirish kod so'zlaridagi belgilar bizga kod so'zlarining og'irliklari yig'indisini beradi xohlagancha.

Endi biz Mandelbaum-Barrows kodlari teng masofada ekanligini ko'rsatadigan oldingi teoremadan foydalanamiz (demak, har bir juft kod so'zlari bir xil masofaga ega), masofa

dalil: Ruxsat bering , keyin va ga bo'linmaydi . Bu shuni anglatadiki . Keyin . Bu buni tasdiqlaydi teng masofaga teng, chunki barcha kod so'zlar bir xil vaznga ega . Barcha kod so'zlar bir xil vaznga ega bo'lgani uchun va oldingi teorema bo'yicha biz barcha kod so'zlarning umumiy og'irligini bilamiz, kodning masofasi umumiy og'irlikni kod so'zlar soniga bo'lish orqali topiladi (0 tashqari).

Shuningdek qarang

Adabiyotlar

  1. ^ Peterson, W. W. va Weldon, E. J .: Xatolarni tuzatish kodlari. Kembrij, Mass.: MIT Press, 1972 yil
  2. ^ Massey, J. L. va Garsiya, O. N.: Kompyuter arifmetikasida xatolarni tuzatish. In: Axborot tizimlari fanining yutuqlari, jild. 4, Ch. 5. (J. T. Ton tomonidan tahrirlangan). Nyu-York: Plenum Press, 1972 y
  3. ^ J.H. Van Lint (1982). Kodlash nazariyasiga kirish. GTM. 86. Nyu-York: Springer-Verlag.
  4. ^ Klark, V. E. va Liang, J. J .: Arifmetik kodlar uchun modulli og'irlik va tsiklga yaqin bo'lmagan shakllar to'g'risida. IEEE Trans. Ma'lumot. Nazariya, 20-bet 767-770 (1974)