ទំព័រ 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. ទ្រឹស្តីនៃការបញ្ជូនព័ត៌មាន។ បណ្ឌិត្យសភាវិទ្យាសាស្ត្រនៃសហភាពសូវៀត។ គណៈកម្មាធិការវាក្យស័ព្ទបច្ចេកទេស។ ១៩៧៩] ទ្រឹស្តីប្រធានបទ ......
មគ្គុទ្ទេសក៍អ្នកបកប្រែបច្ចេកទេស នៅក្នុងវិស័យគណិតវិទ្យា និងទ្រឹស្តីព័ត៌មាន កូដលីនេអ៊ែរគឺប្រភេទសំខាន់
កូដប្លុកដែលប្រើក្នុងការរកឃើញកំហុស និងគ្រោងការណ៍កែតម្រូវ។ កូដលីនេអ៊ែរ បើប្រៀបធៀបទៅនឹងកូដផ្សេងទៀត អនុញ្ញាតឱ្យអនុវត្តក្បួនដោះស្រាយដែលមានប្រសិទ្ធភាពជាង ... ... វិគីភីឌា
ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) ដំណើរការស្តារឡើងវិញ ... ... វិគីភីឌា
ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា
ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា
ការរកឃើញកំហុសនៅក្នុងបច្ចេកវិទ្យាទំនាក់ទំនងគឺជាសកម្មភាពមួយក្នុងគោលបំណងត្រួតពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យនៅពេលថត/ផលិតព័ត៌មានឡើងវិញ ឬនៅពេលបញ្ជូនវាតាមខ្សែទំនាក់ទំនង។ ការកែកំហុស (ការកែកំហុស) នីតិវិធីសម្រាប់ការស្តារព័ត៌មានឡើងវិញបន្ទាប់ពី ... ... វិគីភីឌា