ចម្ងាយរវាងពាក្យកូដ។ ការពិពណ៌នាអំពីក្បួនដោះស្រាយ HEngine សម្រាប់កិច្ចការឋិតិវន្ត

ទំព័រ 1


Hamming ចម្ងាយរវាងលំដាប់ពីរ ប្រវែងស្មើគ្នាត្រូវគ្នាទៅនឹងចំនួនមុខតំណែងដែលកាន់កាប់ដោយធាតុមិនផ្គូផ្គង។ នៅក្នុងករណីនៃលំដាប់នៃប្រវែងផ្សេងគ្នា, ចម្ងាយ Hamming ត្រូវបានកំណត់ជាចំនួនអប្បបរមានៃមុខតំណែងដែលកាន់កាប់ដោយធាតុមិនផ្គូផ្គងនៅ។  

ការញញួរចម្ងាយ d(u,v) រវាងពាក្យពីរ u និង v ប្រវែងដូចគ្នា។ស្មើនឹងចំនួនខ្ទង់ដែលមិនផ្គូផ្គងនៃពាក្យទាំងនេះ។ វាត្រូវបានគេប្រើនៅក្នុងទ្រឹស្តីនៃកូដប្លុក (V.  

ដោយប្រើលក្ខណៈសម្បត្តិម៉ែត្រនៃចម្ងាយ Hamming វាត្រូវបានផ្ទៀងផ្ទាត់ដោយផ្ទាល់ថា /l គឺជាម៉ែត្រនៅលើ Xt ប៉ុន្តែមិនមែនជាម៉ែត្រនៅលើសំណុំនៃលំដាប់ចម្រុះតាមកាលកំណត់នោះទេ។  

មុខងារនៅជិតនេះគឺស្មើនឹងចម្ងាយ Hamming ។  

ម៉ែត្រ p នៅក្នុងក្បួនដោះស្រាយ KLOP ត្រូវបានបញ្ជាក់ដោយចម្ងាយ Hamming ។  

ប្រសិនបើនីតិវិធីស្វែងរកអាចរកឃើញទីតាំងដែលចម្ងាយ Hamming គឺសូន្យនោះបញ្ហានឹងត្រូវបានដោះស្រាយ។  


ការប្រៀបធៀបនៃសំណុំរងមិនច្បាស់ B និង B3 ដឺក្រេនៃភាពស្រពិចស្រពិល ក៏ដូចជាចម្ងាយ Hamming បង្ហាញថាសំណុំរង fuzzy ដែលកំពុងពិចារណាគឺខុសគ្នា។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើយើងយកជាតម្លៃគណនានៃធាតុ m2 G Uz នោះកម្រិតដែលជាកម្មសិទ្ធិរបស់សំណុំរង fuzzy លទ្ធផលគឺអតិបរមា នោះការប្រើប្រាស់ទំនាក់ទំនង fuzzy R ដែលគណនាតាមវិធីនេះអាចត្រឹមត្រូវ។ ទន្ទឹមនឹងការពិតដែលថាជាមួយនឹងវិធីសាស្រ្តនេះអាចពិពណ៌នាអំពីភាពមិនស្មើគ្នានៃទំនាក់ទំនងរវាងសីតុណ្ហភាពអតិបរមានៅក្នុងតំបន់ទីពីរនៃរ៉េអាក់ទ័រ និងអត្រាលំហូរនៃប៉ូលីអេទីឡែនរលាយ វិធីសាស្ត្រនេះមិនគិតពីលក្ខណៈមិនឋិតថេរនៃ ដំណើរការនៃការទទួលបាន LDPE ដែលត្រូវបានផ្សារភ្ជាប់ជាមួយនឹងការផ្លាស់ប្តូរលក្ខណៈនៃដំណើរការបច្ចេកវិជ្ជា។  


មុខងារផ្ទេរកូដនេះបង្ហាញថាមាន វិធីតែមួយគត់ជាមួយនឹងចម្ងាយ Hamming ឃ - ពីផ្លូវនៃសូន្យទាំងអស់ដែលរួមបញ្ចូលគ្នាជាមួយផ្លូវនៃសូន្យទាំងអស់នៅថ្នាំងដែលបានផ្តល់ឱ្យ។ ពីដ្យាក្រាមរដ្ឋដែលបង្ហាញក្នុងរូប។ 8.2.6 ឬដ្យាក្រាម trellis ដែលបង្ហាញក្នុងរូប។ 8.2.5 វាច្បាស់ណាស់ថាផ្លូវពី d6 គឺ acbe ។ ជាថ្មីម្តងទៀតពីដ្យាក្រាមរដ្ឋ ឬបន្ទះឈើ យើងឃើញថាផ្លូវទាំងនេះគឺ acdbe និង acbcbe ។ ពាក្យទីបីនៅក្នុង (8.1.2) បង្ហាញថាមានផ្លូវបួនដែលមានចម្ងាយ d 0 ហើយដូច្នេះនៅលើ។ ដូច្នេះ មុខងារផ្ទេរផ្តល់ឱ្យយើងនូវលក្ខណៈសម្បត្តិចម្ងាយនៃកូដ convolutional ។  

លទ្ធផលនេះគឺស្របនឹងការសង្កេតដែលផ្លូវនៃលេខសូន្យទាំងអស់ (/0) មានចម្ងាយហាំមីង d3 ពីលំដាប់ដែលទទួលបាន ខណៈដែលផ្លូវនៃ /1 មានចម្ងាយហាំមីង d5 ពីផ្លូវដែលទទួលបាន។ ដូច្នេះ ចម្ងាយ Hamming គឺជាម៉ែត្រសមមូលសម្រាប់ការឌិកូដការសម្រេចចិត្តពិបាក។  

លទ្ធផលនេះគឺស្របនឹងការសង្កេតដែលផ្លូវនៃលេខសូន្យទាំងអស់ (/0) មានចម្ងាយហាំមីង d3 ពីលំដាប់ដែលទទួលបាន ខណៈដែលផ្លូវនៃ /1 មានចម្ងាយហាំមីង d5 ពីផ្លូវដែលទទួលបាន។ ដូច្នេះ ចម្ងាយ Hamming គឺជាម៉ែត្រសមមូលសម្រាប់ការឌិកូដការសម្រេចចិត្តពិបាក។  

នៅលើសំណុំនៃពាក្យគោលពីរនៃប្រវែង m ចម្ងាយ d(a,b) រវាងពាក្យ a និង b គឺជាចំនួននៃទីតាំងមិនផ្គូផ្គងនៃពាក្យទាំងនេះ ឧទាហរណ៍៖ ចម្ងាយរវាងពាក្យ a = 01101 និង b = 00111 គឺ 2 ។

គោលគំនិតដែលបានកំណត់តាមវិធីនេះត្រូវបានគេហៅថាចម្ងាយ Hamming ។

វាបំពេញ axioms ចម្ងាយខាងក្រោម៖

1) d(a,b)  0 និង d(a,b)=0 ប្រសិនបើ និងបានតែ a = b;

2) d(a,b) = d(b,a);

3) d(a,b) + d(b,c)  d(a,c) (វិសមភាពត្រីកោណ)។

ទម្ងន់ w(a) នៃពាក្យ a គឺជាចំនួនមួយក្នុងចំនោមកូអរដោណេរបស់វា។ បន្ទាប់មកចម្ងាយរវាងពាក្យ a និង b គឺជាទម្ងន់នៃផលបូករបស់ពួកគេ a b: d(a,b) = w(a b) ដែលនិមិត្តសញ្ញា  បង្ហាញពីប្រតិបត្តិការនៃម៉ូឌុលបន្ថែមតាមកូអរដោណេ 2 ។ វាច្បាស់ណាស់ដោយវិចារណញាណថា កូដគឺស័ក្តិសមជាងក្នុងការរកឃើញកំហុស និងការកែតម្រូវ ពាក្យកូដកាន់តែខុសគ្នា។ គោលគំនិតនៃចម្ងាយ Hamming អនុញ្ញាតឱ្យយើងបញ្ជាក់ពីរឿងនេះ។

ទ្រឹស្តីបទដើម្បីឱ្យកូដរកឃើញកំហុសនៅក្នុងទីតាំង k (ឬតិចជាង) វាចាំបាច់ និងគ្រប់គ្រាន់ដែលចម្ងាយតូចបំផុតរវាងពាក្យកូដគឺ  k + 1 ។

ភស្តុតាងនៃទ្រឹស្តីបទនេះគឺស្រដៀងទៅនឹងភស្តុតាងនៃសេចក្តីថ្លែងការណ៍ខាងក្រោម។

ទ្រឹស្តីបទ។ដើម្បីឱ្យកូដកែកំហុសទាំងអស់នៅក្នុងទីតាំង k (ឬតិចជាង) វាចាំបាច់ និងគ្រប់គ្រាន់ដែលចម្ងាយតូចបំផុតរវាងពាក្យកូដគឺ  2k + 1 ។

32. ទ្រឹស្តីបទស្តីពីសមត្ថភាពកែតម្រូវនៃកូដ។

លេខកូដដែលអាចកែកំហុសដោយស្វ័យប្រវត្តិត្រូវបានគេហៅថាការកែខ្លួនឯង។ ដើម្បី​បង្កើត​កូដ​កែ​ខ្លួន​ឯង​ដែល​បាន​រចនា​ឡើង​ដើម្បី​កែ​កំហុស​តែ​មួយ លេខ​ពិនិត្យ​មួយ​មិន​គ្រប់គ្រាន់​ទេ។ ដូចដែលអាចមើលឃើញពីអ្វីដែលខាងក្រោម ចំនួននៃវត្ថុបញ្ជា k ត្រូវតែត្រូវបានជ្រើសរើស ដូច្នេះវិសមភាព 2k≥k+m+1 ឬ k≥log2(k+m+1) ត្រូវបានពេញចិត្ត ដែល m គឺជាចំនួនប៊ីតគោលពីរ។ នៃពាក្យកូដ។ បច្ចុប្បន្ននេះ កូដកែប្លុកប្រព័ន្ធគោលពីរមានការចាប់អារម្មណ៍ខ្លាំងបំផុត។ នៅពេលប្រើកូដបែបនេះ ព័ត៌មានត្រូវបានបញ្ជូនជាទម្រង់ប្លុកដែលមានប្រវែងដូចគ្នា ហើយប្លុកនីមួយៗត្រូវបានអ៊ិនកូដ និងឌិកូដដោយឯករាជ្យពីគ្នាទៅវិញទៅមក។ នៅក្នុងកូដប្លុកស្ទើរតែទាំងអស់ តួអក្សរអាចត្រូវបានបែងចែកទៅជាព័ត៌មាន និងការផ្ទៀងផ្ទាត់។

លក្ខណៈសំខាន់នៃកូដកែខ្លួនឯងគឺ៖

1. ចំនួននៃការផ្សំដែលត្រូវបានអនុញ្ញាត និងហាមឃាត់។ ប្រសិនបើ n គឺជាចំនួននិមិត្តសញ្ញានៅក្នុងប្លុក r គឺជាចំនួននៃសញ្ញាធីកក្នុងប្លុក k គឺជាចំនួននៃនិមិត្តសញ្ញាព័ត៌មាន បន្ទាប់មក 2n គឺជាចំនួននៃបន្សំកូដដែលអាចធ្វើបាន 2k គឺជាចំនួននៃបន្សំកូដដែលបានអនុញ្ញាត 2n −2k គឺជាចំនួនបន្សំដែលហាមឃាត់។

2. ការ​ប្រើ​ប្រាស់​កូដ​ដដែលៗ។ តម្លៃ rn ត្រូវបានគេហៅថា ភាពច្របូកច្របល់នៃលេខកូដកែតម្រូវ។

3. ចម្ងាយលេខកូដអប្បបរមា។ ចម្ងាយលេខកូដអប្បបរមា d គឺជាចំនួនអប្បបរមានៃនិមិត្តសញ្ញាបង្ខូចទ្រង់ទ្រាយដែលត្រូវការដើម្បីផ្លាស់ប្តូរពីបន្សំដែលបានអនុញ្ញាតមួយទៅមួយផ្សេងទៀត។

4. ចំនួននៃកំហុសដែលបានរកឃើញ និងកែតម្រូវ។ ប្រសិនបើ g គឺជាចំនួនកំហុសដែលកូដអាចកែបាន នោះវាចាំបាច់ និងគ្រប់គ្រាន់ដែល d≥2g+1

5. សមត្ថភាពកែតម្រូវនៃលេខកូដ។

33. ការសរសេរកូដម៉ាទ្រីស។ លេខកូដក្រុម។

នៅពេលបញ្ជាក់យ៉ាងច្បាស់នូវគ្រោងការណ៍ការអ៊ិនកូដនៅក្នុង ( m, n)-code គួរបញ្ជាក់ 2 m codewords ដែលមិនមានប្រសិទ្ធភាពខ្លាំង។

វិធីសន្សំសំចៃមួយដើម្បីពិពណ៌នាអំពីគ្រោងការណ៍សរសេរកូដគឺបច្ចេកទេសសរសេរកូដម៉ាទ្រីស។

ពីមុន គ្រោងការណ៍ការអ៊ិនកូដនីមួយៗត្រូវបានពិពណ៌នាដោយតារាងដែលបញ្ជាក់កូដនៃប្រវែង សម្រាប់ពាក្យប្រភពនីមួយៗនៃប្រវែង សម្រាប់ប្លុកវែង វិធីសាស្ត្រនេះត្រូវការអង្គចងចាំច្រើន ហើយដូច្នេះវាមិនអាចអនុវត្តបាន។ ឧទាហរណ៍សម្រាប់ ( 16, 33 ) លេខកូដនឹងទាមទារ 33 * 2 16 = 2,162,688 ប៊ីត។

ទាមទារការចងចាំតិចជាងច្រើន។ ការសរសេរកូដម៉ាទ្រីស។ អនុញ្ញាតឱ្យ អ៊ី ម៉ាទ្រីសវិមាត្រ m × nដែលមានធាតុផ្សំ អ៊ី អ៊ីច ដែលជាកន្លែងដែល ខ្ញុំ គឺជាលេខបន្ទាត់ និង j - លេខជួរឈរ។ ធាតុម៉ាទ្រីសនីមួយៗ អ៊ី អ៊ី អាចជា 0 ឬ 1។ ការអ៊ិនកូដត្រូវបានអនុវត្តដោយប្រតិបត្តិការ b = aE ឬ​កន្លែង​ដែល​ពាក្យ​កូដ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា​វ៉ិចទ័រ ពោល​គឺ​ជា​ម៉ាទ្រីស​ជួរ​ដេក​នៃ​ទំហំ 1 × ន។

ការ​បំប្លែង​កូដ​មិន​គួរ​កំណត់​ពាក្យ​កូដ​ដូចគ្នា​ទៅ​កាន់​សារ​ប្រភព​ផ្សេង​គ្នា​ទេ។ វិធីសាមញ្ញមួយដើម្បីសម្រេចបាននូវចំណុចនេះគឺដើម្បី ជួរឈរម៉ាទ្រីស បានបង្កើតម៉ាទ្រីសឯកតា។ នៅពេលដែលវ៉ិចទ័រណាមួយត្រូវបានគុណដោយម៉ាទ្រីសអត្តសញ្ញាណ វ៉ិចទ័រដូចគ្នាត្រូវបានទទួល ដូច្នេះវ៉ិចទ័រសារផ្សេងគ្នានឹងឆ្លើយតបទៅនឹងវ៉ិចទ័រផ្សេងគ្នានៃកូដប្រព័ន្ធ។

លេខកូដម៉ាទ្រីសត្រូវបានគេហៅផងដែរ។ កូដលីនេអ៊ែរ។ សម្រាប់លីនេអ៊ែរ (n − r, ន) លេខកូដដែលមានចម្ងាយ Hamming អប្បបរមា មាន Plotkin ព្រំដែនទាប (Plotkin) សម្រាប់ បរិមាណអប្បបរមាគ្រប់គ្រងប៊ីត rនៅ n³ 2d − 1,

គោលពីរ (លេខកូដ m, n) ត្រូវបានគេហៅថា កូដក្រុម ប្រសិនបើពាក្យកូដរបស់វាបង្កើតជាក្រុម។

ចំណាំថាសំណុំនៃពាក្យគោលពីរទាំងអស់នៃប្រវែង m បង្កើតជាក្រុមផ្លាស់ប្តូរជាមួយប្រតិបត្តិការនៃម៉ូឌុលបន្ថែមតាមកូអរដោណេ 2 ដែលទំនាក់ទំនង a a កាន់។ ដូច្នេះហើយ សំណុំនៃពាក្យសារ a ប្រវែង m គឺជាក្រុមផ្លាស់ប្តូរ។

កូដប្លុកត្រូវបានគេហៅថា ក្រុម ប្រសិនបើពាក្យកូដរបស់វាបង្កើតជាក្រុម។

ប្រសិនបើកូដជាកូដក្រុម នោះចម្ងាយតូចបំផុតរវាងពាក្យកូដពីរគឺ ទម្ងន់តិចបំផុត។ពាក្យមិនសូន្យ។

នេះមកពីទំនាក់ទំនង d (ខ ខ្ញុំ , ខ j ) = w(ខ ខ្ញុំ + j ).

នៅពេលប្រើកូដជំនួស កំហុសទាំងនោះ និងតែមួយគត់ដែលត្រូវគ្នានឹងខ្សែអក្សរដែលមានកំហុសពិតប្រាកដស្មើនឹងពាក្យកូដមិនអាចរកឃើញបានទេ។

បន្ទាត់ដែលមានកំហុសបែបនេះបកប្រែពាក្យកូដមួយទៅជាពាក្យមួយទៀត។

ដូច្នេះ ប្រូបាប៊ីលីតេដែលកំហុសនឹងនៅតែមិនអាចរកឃើញគឺស្មើនឹងផលបូកនៃប្រូបាប៊ីលីតេនៃខ្សែអក្សរកំហុសទាំងអស់ស្មើនឹងពាក្យកូដ។

សំណុំនៃពាក្យគោលពីរទាំងអស់។ a = ក 1 ... ក ប្រវែង បង្កើតក្រុម Abelian (ផ្លាស់ប្តូរ) ទាក់ទងនឹងការបន្ថែមបន្តិច។

អនុញ្ញាតឱ្យ អ៊ី - ការសរសេរកូដ m × n- ម៉ាទ្រីសដែលមាន × ម- submatrix ជាមួយនឹងកត្តាកំណត់ nonzero ឧទាហរណ៍ អត្តសញ្ញាណ។ បន្ទាប់មកការធ្វើផែនទី a → អេបកប្រែក្រុមនៃពាក្យគោលពីរនៃប្រវែង ទៅក្រុមនៃកូដនៃប្រវែង ន.

ចូរយើងសន្មតថាបន្ទាប់មកសម្រាប់យើងទទួលបាន

i.e. ដូច្នេះ ការគូសវាសមួយទល់មួយ នៃក្រុមនៃពាក្យគោលពីរនៃប្រវែង ដោយប្រើម៉ាទ្រីសដែលបានផ្តល់ឱ្យ អ៊ី រក្សាលក្ខណៈសម្បត្តិនៃប្រតិបត្តិការក្រុម ដែលមានន័យថា ពាក្យកូដបង្កើតជាក្រុម។

លក្ខណសម្បត្តិកូដក្រុម៖ ចម្ងាយកូដអប្បបរមារវាងវ៉ិចទ័រកូដគឺស្មើនឹងទម្ងន់អប្បបរមានៃវ៉ិចទ័រដែលមិនមែនជាសូន្យ។ ទម្ងន់នៃវ៉ិចទ័រកូដគឺស្មើនឹងចំនួននៃមួយនៅក្នុងបន្សំកូដ។

វាងាយស្រួលក្នុងការបញ្ជាក់លេខកូដក្រុមដោយប្រើម៉ាទ្រីស ដែលវិមាត្រត្រូវបានកំណត់ដោយប៉ារ៉ាម៉ែត្រ k និង n ។ ចំនួនជួរដេកគឺ k ហើយចំនួនជួរឈរគឺ n = k+m ។

កូដដែលបង្កើតដោយម៉ាទ្រីសទាំងនេះត្រូវបានគេហៅថា (n, k)-codes ហើយម៉ាទ្រីសដែលត្រូវគ្នាត្រូវបានគេហៅថា generator (ម៉ាស៊ីនភ្លើង)។

ការញញួរចម្ងាយ

គណិតវិទូជនជាតិអាមេរិក Hamming បានស៊ើបអង្កេតអ្វីដែលកំណត់ លេខកូដនេះ។ថាតើវានឹងរកឃើញកំហុស ហើយនៅពេលណាដែលវាអាចកែតម្រូវវាបាន។ វិចារណញាណវាច្បាស់ណាស់ថាវាអាស្រ័យទៅលើរបៀបដែលពាក្យកូដត្រូវបានដាក់ដាច់ពីគ្នា និងចំនួនកំហុសអាចលេចឡើងនៅក្នុង ពាក្យដែលបានបញ្ជូន. ឥឡូវនេះយើងនឹងរៀបចំគំនិតដូចខាងក្រោមជាផ្លូវការ។ នៅពេលអ៊ិនកូដ អ្នកត្រូវយល់ព្រមលើលេខ កំហុសដែលអាចកើតមានក្នុង​ពាក្យ​កូដ​ដែល​បាន​បញ្ជូន ដូច្នេះ​នៅ​ពេល​ដែល​ពាក្យ​កូដ​បញ្ជូន​មាន​ការ​ផ្លាស់​ប្តូរ វា​នៅ​តែ​ជិត​នឹង​ពាក្យ​កូដ​ដើម​ជា​ជាង​ពាក្យ​កូដ​ផ្សេង​ទៀត។

និយមន័យ ១៣.១.ពិចារណាសំណុំនៃពាក្យគោលពីរទាំងអស់នៅក្នុងអក្ខរក្រម IN= (0,1) ប្រវែង ចម្ងាយ (x, នៅ) ដែលស្មើនឹងចំនួនមុខតំណែងមិនផ្គូផ្គងនៃពាក្យទាំងនេះ។ ឧទាហរណ៍សម្រាប់ពាក្យ X = 011101, នៅ= 101010 ចម្ងាយគឺ (x, y) = 5. ចម្ងាយនេះត្រូវបានគេហៅថា ការញញួរចម្ងាយ .

វាអាចត្រូវបានបង្ហាញថាចម្ងាយ Hamming បំពេញ axioms នៃទំហំម៉ែត្រ:

1) (x, នៅ) ≥ 0, (x, នៅ) = 0 ប្រសិនបើ និងប្រសិនបើ X = y;

2) (x, y) = (y, x);

3) (x, នៅ) ≤ (x, z) + ឃ(z, នៅ) - វិសមភាពត្រីកោណ។

ទ្រឹស្តីបទ ១៣.១(អំពីលេខកូដរាវរក) កូដ​ត្រូវ​បាន​រក​ឃើញ​នៅ​ក្នុង​ករណី​ដែល​ពាក្យ​ដែល​បាន​បញ្ជូន​មាន​មិន​លើស​ពី k

( 1, 2) ≥ k+ 1.

ទ្រឹស្តីបទ ១៣.២(អំពីលេខកូដកែតម្រូវ.) លេខកូដកែកំហុសទាំងអស់នៅក្នុងករណីនៅពេលដែលពាក្យដែលបានបញ្ជូនមានមិនលើសពីនេះ។ kកំហុស ប្រសិនបើចម្ងាយតូចបំផុតរវាងពាក្យកូដ

( 1, 2) ≥ 2k+ 1.

ភស្តុតាង. ភស្តុតាងនៃទ្រឹស្តីបទទាំងនេះគឺស្រដៀងគ្នា។ ដូច្នេះ យើង​នឹង​បញ្ជាក់​តែ​ទ្រឹស្តីបទ​ចុង​ក្រោយ​ប៉ុណ្ណោះ។

ភាពគ្រប់គ្រាន់. អនុញ្ញាតឱ្យពាក្យកូដណាមួយដែលយើងមាន ( 1, 2) ≥ 2k+ 1. ប្រសិនបើនៅពេលបញ្ជូនពាក្យកូដ 1 មិនបានកើតឡើងទៀតទេ kកំហុសបន្ទាប់មកសម្រាប់ពាក្យដែលទទួលយកជាមួយយើងមាន ( 1, ) ≤ k. ប៉ុន្តែមកពីវិសមភាពត្រីកោណសម្រាប់ពាក្យកូដផ្សេងទៀត។ 2 យើងមាន ( 1, ជាមួយ) + (, 2) ≥ ( 1, 2) ≥ 2 k+ 1. ដូច្នេះពីពាក្យដែលបានទទួលទៅពាក្យកូដផ្សេងទៀត ចម្ងាយគឺ (, 2) ≥ k + 1, ឧ. ច្រើនជាងមុន។ 1. ដូច្នេះយោងទៅតាមពាក្យដែលទទួលយក ជាមួយអ្នកពិតជាអាចស្វែងរកពាក្យកូដដែលនៅជិតបំផុត។ 1 ហើយបន្ទាប់មកឌិកូដវា។

ភាពចាំបាច់. ពីផ្ទុយ។ សន្មតថាចម្ងាយអប្បបរមារវាងពាក្យកូដគឺតិចជាង 2 k+ 1. បន្ទាប់​មក​មាន​ពាក្យ​កូដ​ពីរ​ដែល​ចម្ងាយ​រវាង​នឹង​មាន ( 1, 2) ≤ 2 k. អនុញ្ញាតឱ្យនៅពេលបញ្ជូនពាក្យ 1 ពាក្យដែលទទួលយក ជាមួយមានទីតាំងនៅចន្លោះពាក្យ 1, 2 ខ្ញុំពិតជាមាន kកំហុស។ បន្ទាប់មក (, 1) = k, (, 2) = ( 1, 2) – (, 1) ≤ k. ដូច្នេះពីពាក្យ c វាមិនអាចទៅរួចទេក្នុងការស្ថាបនាឡើងវិញនូវពាក្យកូដដែលត្រូវបានបញ្ជូនឡើងវិញដោយមិនច្បាស់លាស់។ 1 ឬ 2. យើងបានមកដល់ភាពផ្ទុយគ្នា។

ឧទាហរណ៍ 13.3 . ពិចារណាកូដប្រាំប៊ីតខាងក្រោមសម្រាប់ពាក្យប្រវែង 2 ក្នុងអក្ខរក្រម IN = {0,1}:

1= ខេ(00) = 00000, 2= ខេ(01) = 01011,

3= ខេ(10) = 10101, 4= k(11) =11110.

ចម្ងាយអប្បបរមារវាងពាក្យកូដផ្សេងគ្នាគឺ (ប៊ី, bj) = 3. ដោយគុណធម៌នៃទ្រឹស្តីបទដំបូងអំពីកូដរាវរក កូដនេះអាចរកឃើញកំហុសមិនលើសពីពីរក្នុងពាក្យមួយ។ ដោយគុណធម៌នៃទ្រឹស្តីបទទីពីរ កូដមានសមត្ថភាពក្នុងការកែកំហុសភាគច្រើនក្នុងពាក្យមួយ។

លេខកូដក្រុម

សូមក្រឡេកមើលកូដនៃពាក្យនៅក្នុងអក្ខរក្រម IN= (0, 1) ។ ប្រសិនបើសម្រាប់ពាក្យដែលមានប្រវែង ពាក្យកូដនៃប្រវែងត្រូវបានប្រើ បន្ទាប់មកយើងនឹងហៅកូដបែបនេះ ( , ) - លេខកូដ។ ប្រវែងសរុបនៃពាក្យ ស្មើ ២ . កំណត់ ( , )-code អ្នកអាចរាយពាក្យកូដសម្រាប់ទាំងអស់គ្នា ពាក្យដែលអាចធ្វើបានប្រវែង ដូចក្នុងឧទាហរណ៍មុន។ មធ្យោបាយសន្សំសំចៃបន្ថែមទៀតដើម្បីបញ្ជាក់ពាក្យកូដគឺជាកិច្ចការម៉ាទ្រីស។

ក្នុងករណីនេះម៉ាទ្រីសបង្កើតត្រូវបានបញ្ជាក់ ជី= ∣∣ ជីជី∣∣ លំដាប់ × ពី 0 និង 1។ ពាក្យកូដត្រូវបានកំណត់រាល់ពេលដោយពាក្យ = 1 2... នៅដោយគុណពាក្យនេះនៅខាងឆ្វេង ជាវ៉ិចទ័រ ដោយបង្កើតម៉ាទ្រីស

នៅទីនេះការបន្ថែមត្រូវបានកំណត់ម៉ូឌុល 2. ក្នុងគោលបំណង ពាក្យផ្សេងគ្នាបាន​ឆ្លើយ​ឆ្លង​ពាក្យ​កូដ​ខុស​គ្នា វា​គ្រប់គ្រាន់​ដើម្បី​មាន​ក្នុង​ម៉ាទ្រីស ជីឯកតាមូលដ្ឋានអនីតិជននៃលំដាប់ ឧទាហរណ៍ខាងឆ្វេងឆ្ងាយ។

ឧទាហរណ៍ 13.4 . ពិចារណាម៉ាទ្រីសបង្កើត

ម៉ាទ្រីសនេះកំណត់កូដ (3, 4) ។ ក្នុងករណីនេះ តួអក្សរបីដំបូងនៅក្នុងពាក្យកូដគឺជាព័ត៌មាន ហើយទីបួនគឺជាវត្ថុបញ្ជាមួយ។ វាស្មើនឹង 0 ប្រសិនបើ លេខគូឯកតានៅក្នុងពាក្យដើម និង 1 ប្រសិនបើ លេខសេសឯកតា។ ឧទាហរណ៍សម្រាប់ពាក្យ = 101 លេខកូដនឹងត្រូវបាន = = 1010. ចម្ងាយ Hamming អប្បបរមារវាងពាក្យកូដគឺ (ប៊ី, bj) = 2. ដូច្នេះនេះគឺជាកូដដែលរកឃើញកំហុសតែម្តង។

និយមន័យ ១៣.២.លេខកូដត្រូវបានគេហៅថា ក្រុម ប្រសិនបើសំណុំនៃពាក្យកូដទាំងអស់បង្កើតជាក្រុម។ ចំនួនឯកតានៅក្នុងពាក្យ a ត្រូវបានគេហៅថា ជញ្ជីងពាក្យ​និង​ត្រូវ​បាន​តំណាង​ឱ្យ if - ពាក្យកូដ និងពាក្យដែលបានទទួលក្នុងបណ្តាញទំនាក់ទំនង ជាមួយ = b + អ៊ីបន្ទាប់មកពាក្យ អ៊ីហៅ វ៉ិចទ័រនៃកំហុស .

ទ្រឹស្តីបទ ១៣.៣.សូមឱ្យមានក្រុមមួយ ( , ) - លេខកូដ។ បន្ទាប់មកក្រុមផ្លាស់ប្តូរ TOនៃពាក្យកូដទាំងអស់គឺជាក្រុមរងនៃក្រុមផ្លាស់ប្តូរ ជាមួយពាក្យទាំងអស់នៃប្រវែង ដែលអាចត្រូវបានទទួលនៅក្នុងបណ្តាញទំនាក់ទំនង។ ចម្ងាយតូចបំផុតរវាងពាក្យកូដគឺស្មើនឹងទម្ងន់តូចបំផុតនៃពាក្យកូដដែលមិនមែនជាសូន្យ និង

ពិចារណាក្រុមកត្តា S/K. សំលៀកបំពាក់នៅទីនេះនឹងត្រូវបានកំណត់ដោយការផ្លាស់ប្តូរ e + ខ, ខេ.

ក្នុងនាមជាអ្នកតំណាងនៃថ្នាក់ coset យើងជ្រើសរើសធាតុដែលមានទម្ងន់តិចបំផុត។ យើងនឹងហៅធាតុបែបនេះ អ្នកដឹកនាំថ្នាក់ដែលនៅជាប់គ្នា។ .

ប្រសិនបើអ្នកដឹកនាំត្រូវបានបកស្រាយថាជាវ៉ិចទ័រកំហុស នោះ coset នីមួយៗគឺជាសំណុំនៃពាក្យដែលបង្ខូចទ្រង់ទ្រាយនៅក្នុងបណ្តាញទំនាក់ទំនងដែលមានវ៉ិចទ័រកំហុសថេរ ជាពិសេសនៅពេល អ៊ី= 0 យើងមានថ្នាក់នៃពាក្យដែលនៅជាប់គ្នាដោយគ្មានការបង្ខូចទ្រង់ទ្រាយ ពោលគឺសំណុំនៃពាក្យកូដទាំងអស់។ ដំណើរការនៃការកែពាក្យ និងការឌិកូដ ជាមួយមាន​ក្នុង​ការ​ស្វែង​រក​ថ្នាក់​នៅ​ជាប់​ដែល​ពាក្យ​នោះ​ជា​កម្មសិទ្ធិ ជាមួយ = អ៊ី + . វ៉ិចទ័រមានកំហុស អ៊ីកំណត់ចំនួន និងទីតាំងនៃកំហុស ពាក្យកូដ កំណត់ការកែតម្រូវនៃពាក្យដែលបានទទួល។

ដើម្បីជួយសម្រួលដល់ការស្វែងរក coset ហើយដូច្នេះវ៉ិចទ័រមានកំហុស Hamming បានស្នើឡើងដោយប្រើកូដក្រុមជាមួយនឹងម៉ាទ្រីសបង្កើតពិសេស។

កូដញញួរ

ចូរយើងពិចារណាការសាងសង់ Hamming ( , )-កូដដែលមានទម្ងន់នៃពាក្យកូដតូចបំផុតស្មើនឹង 3 ពោលគឺកូដដែលកែកំហុសមួយ។

តោះដាក់ = 2 r- 1 ហើយអនុញ្ញាតឱ្យពាក្យកូដនីមួយៗមាន rគ្រប់គ្រងតួអក្សរ និង តួអក្សរ ( = r= 2 r– 1– r) - ព័ត៌មាន, r≥ 2 ឧទាហរណ៍ (1, 3) កូដ (4, 7) កូដ។ = 1 2... b ទំនិមិត្តសញ្ញាជាមួយលិបិក្រម, ដឺក្រេស្មើគ្នា 2 នឹង​ជា​អ្នក​គ្រប់​គ្រង ហើយ​សល់​នឹង​ជា​ព័ត៌មាន។ ឧទាហរណ៍សម្រាប់លេខកូដ (4, 7) នៅក្នុងពាក្យកូដ = 1 2 3 4 5 6 7 តួអក្សរ 1 2 4 នឹងជាវត្ថុបញ្ជា និងនិមិត្តសញ្ញា 3 5 6 7- ព័ត៌មាន។ ដើម្បីបញ្ជាក់ម៉ាទ្រីសម៉ាស៊ីនភ្លើង ជីហាំមីង ( , ) - លេខកូដ, ពិចារណា ម៉ាទ្រីសជំនួយ លំដាប់ r× , កន្លែងណា = 2 r- 1, បែបនោះក្នុងនីមួយៗ jជួរឈរម៉ាទ្រីស វានឹងមាននិមិត្តសញ្ញាគោលពីរ jឧទាហរណ៍ សម្រាប់លេខ (4, 7) កូដម៉ាទ្រីស នឹងមាន 3 × 7:



យើងកំណត់សំណុំនៃពាក្យកូដទាំងអស់ជាសំណុំនៃដំណោះស្រាយ ប្រព័ន្ធដូចគ្នា។លីនេអ៊ែរ សមីការពិជគណិតប្រភេទ

b MT= 0.

ឧទាហរណ៍សម្រាប់លេខកូដ (4, 7) ប្រព័ន្ធបែបនេះនឹងមានៈ

អនុញ្ញាតឱ្យយើងជ្រើសរើសអនីតិជនមូលដ្ឋានធម្មជាតិនៃប្រព័ន្ធ b MT= 0 ឈរក្នុងជួរឈរដែលមានលេខស្មើនឹងថាមពលនៃ 2 ។ ដូច្នេះយើងបែងចែកអថេរទៅជាមូលដ្ឋាន (កូដ) និងឥតគិតថ្លៃ (ព័ត៌មាន) ។ ឥឡូវនេះ ដោយបានកំណត់អថេរឥតគិតថ្លៃ វាងាយស្រួលក្នុងការទទួលបានមូលដ្ឋាន។ ចូរយើងស្វែងរកប្រព័ន្ធមូលដ្ឋាន = rដំណោះស្រាយនៃប្រព័ន្ធដូចគ្នានេះ។ បន្ទាប់មកដំណោះស្រាយណាមួយចំពោះប្រព័ន្ធគឺជាការរួមបញ្ចូលលីនេអ៊ែរនៃទាំងនេះ ការសម្រេចចិត្ត។ ដូច្នេះការសរសេរចេញជាជួរ ដំណោះស្រាយនៃប្រព័ន្ធមូលដ្ឋានក្នុងទម្រង់ម៉ាទ្រីស ជីទំហំ × យើងទទួលបានម៉ាទ្រីសបង្កើតនៃក្រុម Hamming ( , )-code ឧទាហរណ៍សម្រាប់ (4, 7)-code ប្រព័ន្ធមូលដ្ឋានដំណោះស្រាយនឹងមាន 4 = 7 - 3 ដំណោះស្រាយដូចខាងក្រោមនៃប្រព័ន្ធដូចគ្នា:

g 1= 1110000, g 2= 1001100, g 3= 0101010, g 4= 1101001.

ការរួមបញ្ចូលលីនេអ៊ែរនៃដំណោះស្រាយទាំងនេះនឹងជាដំណោះស្រាយមួយ ពោលគឺពាក្យកូដ។ អនុញ្ញាតឱ្យយើងបង្កើតម៉ាទ្រីសពីដំណោះស្រាយជាមូលដ្ឋានទាំងនេះ

ឥឡូវនេះយោងទៅតាមពាក្យណាមួយ។ ប្រវែង = 4 ងាយស្រួលក្នុងការគណនាពាក្យកូដ ប្រវែង = 7 ដោយប្រើម៉ាទ្រីសម៉ាស៊ីនភ្លើង = . ទន្ទឹមនឹងនេះនិមិត្តសញ្ញា 3, 5, 6, 7 នឹងមានព័ត៌មាន។ ពួកគេស្របគ្នា។ 1, 1, 3, 4. និមិត្តសញ្ញា 1, 2, 4 នឹងត្រូវបានគ្រប់គ្រង។

សេចក្តីសន្និដ្ឋាន. លេខកូដញញួរមានភាពងាយស្រួល ពីព្រោះ cosets ត្រូវបានកំណត់យ៉ាងងាយស្រួលកំឡុងពេលឌិកូដ។ សូមឱ្យពាក្យដែលបានទទួលនៅលើបណ្តាញទំនាក់ទំនង ជាមួយ = អ៊ី + , កន្លែងណា អ៊ី- កំហុស, - ពាក្យកូដ។ បន្ទាប់មកគុណវាដោយម៉ាទ្រីសជំនួយ cMT= (អ៊ី + )MT= អ៊ី អឹម ធី. ប្រសិនបើ អ៊ី អឹម ធី= 0 បន្ទាប់មកពាក្យ ជាមួយ- កូដហើយយើងពិចារណា៖ មិនមានកំហុសទេ។ ប្រសិនបើ អ៊ី អឹម ធី≠ 0 បន្ទាប់មកពាក្យ អ៊ីកំណត់​កំហុស។

សូមចាំថា Hammings ដែលត្រូវបានសាងសង់ ( , )-កូដកំណត់អត្តសញ្ញាណកំហុសមួយ។ ដូច្នេះវ៉ិចទ័រកំហុស អ៊ីមានឯកតាមួយនៅក្នុង ខ្ញុំមុខតំណែង។ លើសពីនេះទៅទៀតលេខ ខ្ញុំទីតាំងត្រូវបានទទួលជាតំណាងគោលពីរជាលទ្ធផល អ៊ី អឹម ធី, ស្របពេលជាមួយ ខ្ញុំជួរឈរម៉ាទ្រីស . វានៅសល់ដើម្បីផ្លាស់ប្តូរនិមិត្តសញ្ញា ខ្ញុំនៅក្នុងពាក្យ c ដែលបានទទួលនៅលើឆានែល កាត់ចេញនូវតួអក្សរបញ្ជា ហើយសរសេរពាក្យដែលបានឌិកូដ។

ជាឧទាហរណ៍សូមឱ្យពាក្យដែលទទួលយកបាន។ ជាមួយ= 1100011 សម្រាប់លេខកូដ (4, 7) Hamming ។ ចូរគុណពាក្យនេះដោយម៉ាទ្រីស . យើងទទួលបាន

(1100011) អិម =(010).

ដូច្នេះមានកំហុសនៅក្នុងតួអក្សរទីពីរ។ ដូច្នេះពាក្យកូដនឹងមាន = 1000011. កាត់តួអក្សរវត្ថុបញ្ជា 1, 2, 4. ពាក្យដែលបានឌិកូដនឹងមាន = 0011.

ជា​ការ​ពិត​ណាស់ ប្រសិន​បើ​កំហុស​ត្រូវ​បាន​ធ្វើ​ឡើង​ជា​តួអក្សរ​ច្រើន​ជាង​មួយ នោះ​កូដ​នេះ​នឹង​មិន​កែ​វា​ទេ។

) វ ចន្លោះវ៉ិចទ័រលំដាប់កូដ ក្នុងករណីនេះ ចម្ងាយ Hamming រវាងលំដាប់គោលពីរ (វ៉ិចទ័រ) និងប្រវែង គឺជាចំនួនមុខតំណែងដែលវាខុសគ្នា - ក្នុងទម្រង់បែបបទនេះ ចម្ងាយ Hamming ត្រូវបានបញ្ចូលក្នុងវចនានុក្រមនៃក្បួនដោះស្រាយ និងរចនាសម្ព័ន្ធទិន្នន័យ។ វិទ្យាស្ថានជាតិស្តង់ដារសហរដ្ឋអាមេរិក ( ភាសាអង់គ្លេស វចនានុក្រម NIST នៃក្បួនដោះស្រាយ និងរចនាសម្ព័ន្ធទិន្នន័យ ).

ដូច្នេះចម្ងាយ Hamming រវាងវ៉ិចទ័រ 0 011 1 និង 1 010 1 គឺស្មើនឹង 2 (ភាពខុសគ្នាត្រូវបានសម្គាល់ជាពណ៌ក្រហម ប៊ីត) បនា្ទាប់មក មាត្រដ្ឋានត្រូវបានបញ្ចោញជាលំដាប់ q-ary៖ សម្រាប់ខ្សែពីរ “ការបោះឆ្នោត” និង “របង” ចម្ងាយហាំមីងគឺស្មើនឹងបី។

IN ទិដ្ឋភាពទូទៅចម្ងាយ Hamming សម្រាប់វត្ថុ និងវិមាត្រត្រូវបានផ្តល់ដោយមុខងារ៖

ចម្ងាយ Hamming មានលក្ខណៈសម្បត្តិនៃម៉ែត្រមួយ ដែលបំពេញលក្ខខណ្ឌដូចខាងក្រោមៈ

ការញញួរចម្ងាយចូល ជីវព័ត៌មានវិទ្យានិង ពន្ធុវិទ្យា

អក្សរសិល្ប៍

  • Richard W. Hamming. ការរកឃើញកំហុស និងលេខកូដកែកំហុស ប្រព័ន្ធ Bell System Technical Journal 29(2): 147-160, 1950។
  • លោក Richard Bleichut. ទ្រឹស្តី និងការអនុវត្តនៃកូដត្រួតពិនិត្យកំហុស។ M. , "Mir", ឆ្នាំ 1986

តំណភ្ជាប់

  • Richard Hamming និងការចាប់ផ្តើមនៃទ្រឹស្តីសរសេរកូដ // សារមន្ទីរកុំព្យូទ័រនិម្មិត

មូលនិធិវិគីមេឌា។

ឆ្នាំ ២០១០។

    ការញញួរចម្ងាយសូមមើលអ្វីដែល "Hamming distance" មាននៅក្នុងវចនានុក្រមផ្សេងទៀត៖ - Hamming distance ចម្ងាយ d (u,v) រវាងលេខកូដពីរ u និង v ដែលមានប្រវែងដូចគ្នាស្មើនឹងចំនួន

    តួអក្សរដែលពួកគេខុសគ្នា។ កូដប្លុកដែលមានចម្ងាយ Hamming អប្បបរមា d អនុញ្ញាតឱ្យមនុស្សម្នាក់រកឃើញ (d 1) និង ......ចម្ងាយលេខកូដ - ចម្ងាយ Hamming អប្បរមាត្រូវបានយកនៅលើ lares ទាំងអស់នៃ codewords ផ្សេងគ្នានៅក្នុងកូដឯកសណ្ឋានមួយ។ [ការប្រមូលលក្ខខណ្ឌដែលបានណែនាំ។ លេខ 94. ទ្រឹស្តីនៃការបញ្ជូនព័ត៌មាន។ បណ្ឌិត្យសភាវិទ្យាសាស្ត្រនៃសហភាពសូវៀត។ គណៈកម្មាធិការវាក្យស័ព្ទបច្ចេកទេស។ ១៩៧៩] ទ្រឹស្តីប្រធានបទ ......

    មគ្គុទ្ទេសក៍អ្នកបកប្រែបច្ចេកទេស នៅក្នុងវិស័យគណិតវិទ្យា និងទ្រឹស្តីព័ត៌មាន កូដលីនេអ៊ែរគឺប្រភេទសំខាន់

    កូដប្លុកដែលប្រើក្នុងការរកឃើញកំហុស និងគ្រោងការណ៍កែតម្រូវ។ កូដលីនេអ៊ែរ បើប្រៀបធៀបទៅនឹងកូដផ្សេងទៀត អនុញ្ញាតឱ្យអនុវត្តក្បួនដោះស្រាយដែលមានប្រសិទ្ធភាពជាង ... ... វិគីភីឌា

    ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) ដំណើរការស្តារឡើងវិញ ... ... វិគីភីឌា

    ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា

    ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា

    ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា