ระยะห่างระหว่างคำรหัส คำอธิบายของอัลกอริทึม HEngine สำหรับงานแบบคงที่

หน้า 1


ระยะห่างระหว่างสองลำดับ ความยาวเท่ากันสอดคล้องกับจำนวนตำแหน่งที่ถูกครอบครองโดยองค์ประกอบที่ไม่ตรงกัน ในกรณีของลำดับที่มีความยาวต่างกัน ระยะแฮมมิงถูกกำหนดให้เป็นจำนวนตำแหน่งขั้นต่ำที่องค์ประกอบที่ไม่ตรงกันครอบครองที่  

ระยะห่างระหว่าง d(u,v) ระหว่างคำสองคำ u และ v ความยาวเท่ากันเท่ากับจำนวนหลักที่ไม่ตรงกันของคำเหล่านี้ ใช้ในทฤษฎีรหัสบล็อก (V.  

การใช้คุณสมบัติหน่วยเมตริกของระยะแฮมมิง มีการตรวจสอบโดยตรงว่า /l เป็นหน่วยเมตริกบน Xt แต่ไม่ใช่หน่วยเมตริกบนชุดของลำดับคาบแบบผสม  

ฟังก์ชันความใกล้ชิดนี้เทียบเท่ากับระยะแฮมมิง  

เมทริก p ในอัลกอริธึม KLOP ถูกระบุโดยระยะแฮมมิง  

หากขั้นตอนการค้นหาสามารถค้นหาตำแหน่งที่ระยะแฮมมิงเป็นศูนย์ ปัญหาก็จะได้รับการแก้ไข  


การเปรียบเทียบสับเซตฟัซซี่ B และ B3 องศาของฟัซซี่ และระยะห่างของแฮมมิง แสดงให้เห็นว่าสับเซตฟัซซี่ที่กำลังพิจารณานั้นแตกต่างกัน อย่างไรก็ตาม หากเราใช้ค่าที่คำนวณได้ขององค์ประกอบ m2 G Uz ระดับที่เป็นของเซตย่อยฟัซซี่ผลลัพธ์คือค่าสูงสุด ดังนั้นการใช้ความสัมพันธ์ฟัซซี่ R ที่คำนวณด้วยวิธีนี้ก็สามารถพิสูจน์ได้ นอกจากข้อเท็จจริงที่ว่า ด้วยวิธีนี้ ยังเป็นไปได้ที่จะอธิบายความไม่เชิงเส้นของความสัมพันธ์ระหว่างอุณหภูมิสูงสุดในโซนที่สองของเครื่องปฏิกรณ์และอัตราการไหลของโพลีเอทิลีนหลอมเหลว วิธีการนี้ไม่ได้คำนึงถึงธรรมชาติที่ไม่คงที่ของ กระบวนการรับ LDPE ซึ่งเกี่ยวข้องกับการเปลี่ยนแปลงลักษณะของกระบวนการทางเทคโนโลยี  


ฟังก์ชั่นการถ่ายโอนของรหัสนี้บ่งชี้ว่ามี วิธีเดียวเท่านั้นด้วยระยะแฮมมิง d - จากเส้นทางของศูนย์ทั้งหมดซึ่งรวมเข้ากับเส้นทางของศูนย์ทั้งหมดที่โหนดที่กำหนด จากแผนภาพสถานะที่แสดงในรูปที่ 8.2.6 หรือแผนภาพโครงสร้างบังตาที่เป็นช่องที่แสดงในรูปที่. ในตาราง 8.2.5 ชัดเจนว่าเส้นทางจาก d6 คือ acbe จากแผนภาพสถานะหรือโครงตาข่ายอีกครั้ง เราจะเห็นว่าเส้นทางเหล่านี้เป็น acdbe และ acbcbe เทอมที่สามใน (8.1.2) ระบุว่ามีสี่เส้นทางที่มีระยะห่าง d 0 และต่อๆ ไป ดังนั้น, ฟังก์ชั่นการถ่ายโอนให้คุณสมบัติระยะทางของโค้ดแบบหมุนวนแก่เรา  

ผลลัพธ์นี้สอดคล้องกับการสังเกตว่าเส้นทางของศูนย์ทั้งหมด (/0) มีระยะห่างของ Hamming ที่ d3 จากลำดับที่ได้รับ ในขณะที่เส้นทางของ /1 มีระยะห่างของ Hamming ที่ d5 จากเส้นทางที่ได้รับ ดังนั้นระยะทางแฮมมิงจึงเป็นตัวชี้วัดที่เทียบเท่าสำหรับการถอดรหัสการตัดสินใจที่ยากลำบาก  

ผลลัพธ์นี้สอดคล้องกับการสังเกตว่าเส้นทางของศูนย์ทั้งหมด (/0) มีระยะห่างของ Hamming ที่ d3 จากลำดับที่ได้รับ ในขณะที่เส้นทางของ /1 มีระยะห่างของ Hamming ที่ d5 จากเส้นทางที่ได้รับ ดังนั้นระยะทางแฮมมิงจึงเป็นตัวชี้วัดที่เทียบเท่าสำหรับการถอดรหัสการตัดสินใจที่ยากลำบาก  

ในชุดคำไบนารี่ที่มีความยาว m ระยะทาง d(a,b) ระหว่างคำ a และ b คือจำนวนตำแหน่งที่ไม่ตรงกันของคำเหล่านี้ เช่น ระยะห่างระหว่างคำ a = 01101 และ b = 00111 คือ 2

แนวคิดที่กำหนดในลักษณะนี้เรียกว่าระยะแฮมมิง

มันเป็นไปตามสัจพจน์ระยะทางต่อไปนี้:

1) d(a,b)  0 และ d(a,b)=0 ถ้า a = b;

2) ง(ก,ข) = ง(ข,ก) ;

3) d(a,b) + d(b,c)  d(a,c) (อสมการสามเหลี่ยม)

น้ำหนัก w(a) ของคำ a คือจำนวนที่อยู่ในพิกัดของมัน จากนั้น ระยะห่างระหว่างคำ a และ b คือน้ำหนักของผลรวมของคำ a b: d(a,b)=w(a b) โดยที่สัญลักษณ์  แสดงถึงการดำเนินการของการบวกแบบพิกัดตามโมดูโล 2 เป็นที่ชัดเจนโดยสัญชาตญาณว่าโค้ดเหมาะสมกับการตรวจจับและแก้ไขข้อผิดพลาดมากกว่า คำในโค้ดก็จะมีความแตกต่างกันมากขึ้น แนวคิดเรื่องระยะทางแฮมมิงช่วยให้เราสามารถชี้แจงเรื่องนี้ได้

ทฤษฎีบทเพื่อให้โค้ดตรวจจับข้อผิดพลาดในตำแหน่ง 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 เมตร ซึ่งไม่มีประสิทธิภาพมากนัก

วิธีที่ประหยัดวิธีหนึ่งในการอธิบายโครงร่างการเข้ารหัสคือเทคนิคการเข้ารหัสแบบเมทริกซ์

ก่อนหน้านี้ รูปแบบการเข้ารหัสแต่ละรูปแบบมีการอธิบายโดยตารางที่ระบุคำรหัสที่มีความยาว n สำหรับคำต้นฉบับแต่ละคำที่มีความยาว ม. สำหรับบล็อกขนาดยาว วิธีการนี้ต้องใช้หน่วยความจำจำนวนมาก ดังนั้นจึงใช้ไม่ได้ผล ตัวอย่างเช่น สำหรับ ( 16, 33 ) รหัสจะต้องมี 33 * 2 16 = 2,162,688 บิต

ต้องใช้หน่วยความจำน้อยกว่ามาก การเข้ารหัสเมทริกซ์ อนุญาต อี เมทริกซ์มิติ ม.×นประกอบด้วยองค์ประกอบ e ij โดยที่ ฉัน คือหมายเลขบรรทัด และ เจ - หมายเลขคอลัมน์ องค์ประกอบเมทริกซ์แต่ละตัว ฉัน อาจเป็น 0 หรือ 1 ได้ การเข้ารหัสถูกนำไปใช้โดยการดำเนินการ ข = เออี หรือที่คำรหัสถือเป็นเวกเตอร์ เช่น เมทริกซ์แถวที่มีขนาด 1×n

การเข้ารหัสไม่ควรกำหนดคำรหัสเดียวกันให้กับข้อความต้นฉบับที่แตกต่างกัน วิธีง่ายๆ ในการบรรลุเป้าหมายนี้คือ คอลัมน์เมทริกซ์ เกิดเป็นเมทริกซ์หน่วย เมื่อเวกเตอร์ใดๆ ถูกคูณด้วยเมทริกซ์เอกลักษณ์ จะได้เวกเตอร์เดียวกัน ดังนั้น เวกเตอร์ข้อความที่ต่างกันจะสอดคล้องกับเวกเตอร์ที่ต่างกันของโค้ดระบบ

รหัสเมทริกซ์ก็เรียกอีกอย่างว่า รหัสเชิงเส้น สำหรับเส้นตรง (น - ร, น) - รหัสที่มีระยะแฮมมิงขั้นต่ำ มีอยู่จริง Plotkin ขอบเขตล่าง (พล็อตเรื่อง) สำหรับ ปริมาณขั้นต่ำบิตควบคุม ที่ n³ 2d − 1,

ไบนารี่ (รหัส m, n) เรียกว่ารหัสกลุ่มหากคำรหัสนั้นรวมกลุ่มกัน

โปรดสังเกตว่าเซตของคำไบนารี่ทั้งหมดที่มีความยาว m จะก่อตัวเป็นกลุ่มสับเปลี่ยนโดยมีการดำเนินการของโมดูโลการบวกแบบพิกัด 2 โดยที่ความสัมพันธ์ a a ยังคงอยู่ ดังนั้น เซตของข้อความ a ที่มีความยาว m จึงเป็นหมู่สับเปลี่ยน

เรียกว่ารหัสบล็อก กลุ่ม, ถ้าคำรหัสของมันรวมกลุ่มกัน

หากรหัสเป็นรหัสกลุ่ม ระยะห่างที่น้อยที่สุดระหว่างคำรหัสสองคำคือ น้ำหนักน้อยที่สุดคำที่ไม่เป็นศูนย์

สิ่งนี้ตามมาจากความสัมพันธ์ ง(ข ฉัน เจ ) = ก(ข ฉัน + เจ ).

เมื่อใช้รหัสไวด์การ์ด ข้อผิดพลาดเหล่านั้นและเฉพาะข้อผิดพลาดที่สอดคล้องกับสตริงข้อผิดพลาดที่เท่ากับคำรหัสทุกประการเท่านั้นที่จะตรวจไม่พบ

บรรทัดข้อผิดพลาดดังกล่าวแปลคำรหัสหนึ่งเป็นอีกคำหนึ่ง

ดังนั้น ความน่าจะเป็นที่ข้อผิดพลาดจะยังคงตรวจไม่พบจะเท่ากับผลรวมของความน่าจะเป็นของสตริงข้อผิดพลาดทั้งหมดเท่ากับ codewords

ชุดของคำไบนารีทั้งหมด ก = ก 1 ...ก ความยาว ก่อตั้งกลุ่ม Abelian (สับเปลี่ยน) โดยคำนึงถึงการบวกระดับบิต

อนุญาต อี - การเข้ารหัส ม.×น-เมทริกซ์ที่มี × ม-เมทริกซ์ย่อยที่มีดีเทอร์มิแนนต์ที่ไม่ใช่ศูนย์ เช่น เอกลักษณ์ จากนั้นการทำแผนที่ ก → อีแปลกลุ่มคำไบนารีที่มีความยาวทั้งหมด ไปยังกลุ่มคำรหัสที่มีความยาว n.

ให้เราสมมุติว่า แล้วสำหรับเราจะได้รับ

เช่น. ดังนั้นการทำแผนที่แบบหนึ่งต่อหนึ่งของกลุ่มคำไบนารีที่มีความยาว โดยใช้เมทริกซ์ที่กำหนด อี คงคุณสมบัติของการดำเนินการกลุ่มซึ่งหมายความว่าคำรหัสจะรวมกลุ่มกัน

คุณสมบัติโค้ดกลุ่ม: ระยะห่างโค้ดขั้นต่ำระหว่างเวกเตอร์โค้ดเท่ากับน้ำหนักขั้นต่ำของเวกเตอร์ที่ไม่ใช่ศูนย์ น้ำหนักของเวกเตอร์โค้ดเท่ากับจำนวนเวกเตอร์ในชุดโค้ด

สะดวกในการระบุรหัสกลุ่มโดยใช้เมทริกซ์ซึ่งมิติถูกกำหนดโดยพารามิเตอร์ k และ n จำนวนแถวคือ k และจำนวนคอลัมน์คือ n = k+m

รหัสที่สร้างโดยเมทริกซ์เหล่านี้เรียกว่า (n, k) -code และเมทริกซ์ที่เกี่ยวข้องเรียกว่าเครื่องกำเนิดไฟฟ้า (เครื่องกำเนิดไฟฟ้า)

ระยะแฮมมิง

แฮมมิง นักคณิตศาสตร์ชาวอเมริกัน ศึกษาสิ่งที่กำหนด รหัสนี้จะตรวจพบข้อผิดพลาดหรือไม่และจะสามารถแก้ไขได้เมื่อใด โดยสัญชาตญาณเป็นที่ชัดเจนว่าสิ่งนี้ขึ้นอยู่กับวิธีการแยกคำรหัสออกจากกันและจำนวนข้อผิดพลาดที่อาจปรากฏขึ้น คำพูดที่ถ่ายทอด- ตอนนี้เราจะทำให้แนวคิดต่อไปนี้เป็นทางการ เมื่อเข้ารหัสคุณต้องยอมรับหมายเลข ข้อผิดพลาดที่เป็นไปได้ในคำรหัสที่ส่ง ดังนั้นเมื่อคำรหัสที่ส่งเปลี่ยนไป คำรหัสนั้นจะยังคงใกล้เคียงกับคำรหัสดั้งเดิมมากกว่าคำรหัสอื่น ๆ

คำจำกัดความ 13.1พิจารณาชุดของคำไบนารี่ทั้งหมดในตัวอักษร ใน= (0,1) ความยาว ระยะทาง (x, ที่) ซึ่งเท่ากับจำนวนตำแหน่งที่ไม่ตรงกันของคำเหล่านี้ ตัวอย่างเช่น สำหรับคำพูด เอ็กซ์ = 011101, ที่= 101010 ระยะทางคือ (x, ) = 5 ระยะนี้เรียกว่า ระยะแฮมมิง .

แสดงให้เห็นว่าระยะแฮมมิงเป็นไปตามสัจพจน์ของปริภูมิเมตริก:

1) (x, ที่) ≥ 0, (x, ที่) = 0 ถ้าและถ้าเท่านั้น เอ็กซ์ = ใช่;

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

3) (x, ที่) ≤ (x, z) + ง(z, ที่) - อสมการสามเหลี่ยม

ทฤษฎีบท 13.1(เกี่ยวกับรหัสการตรวจจับ- รหัสจะถูกตรวจจับในกรณีที่คำที่ส่งมีจำนวนไม่เกิน เค

( 1, 2) ≥ เค+ 1.

ทฤษฎีบท 13.2(เกี่ยวกับรหัสแก้ไข- รหัสจะแก้ไขข้อผิดพลาดทั้งหมดในกรณีที่คำที่ส่งมีไม่เกิน เคข้อผิดพลาดหากระยะห่างระหว่างคำรหัสน้อยที่สุด

( 1, 2) ≥ 2เค+ 1.

การพิสูจน์- การพิสูจน์ทฤษฎีบทเหล่านี้มีความคล้ายคลึงกัน ดังนั้นเราจะพิสูจน์เฉพาะทฤษฎีบทสุดท้ายเท่านั้น

ความเพียงพอ- ปล่อยให้คำรหัสใด ๆ ที่เรามี ( 1, 2) ≥ 2เค+ 1. ถ้าเมื่อส่งคำรหัส 1ไม่มีเกิดขึ้นอีก เคข้อผิดพลาดแล้วสำหรับคำที่ยอมรับกับเรามี ( 1, ) ≤ เค- แต่จากอสมการสามเหลี่ยมสำหรับคำรหัสอื่น ๆ 2เรามี ( 1, กับ) + (, 2) ≥ ( 1, 2) ≥ 2 เค+ 1. ดังนั้นจากคำที่ได้รับไปจนถึงคำรหัสอื่น ๆ ระยะทางคือ (, 2) ≥ เค + 1 คือ มากกว่าแต่ก่อน 1. ดังนั้นตามคำที่ยอมรับกัน กับคุณสามารถค้นหาคำรหัสที่ใกล้ที่สุดได้อย่างแน่นอน 1 แล้วถอดรหัสมัน

ความจำเป็น- จากสิ่งที่ตรงกันข้าม สมมติว่าระยะห่างขั้นต่ำระหว่างคำรหัสน้อยกว่า 2 เค+ 1 จากนั้นจะมีคำรหัสสองคำ ระยะห่างระหว่างคำเหล่านั้นจะเท่ากับ ( 1, 2) ≤ 2 เค- ให้เมื่อส่งคำ 1 คำที่ยอมรับ กับอยู่ระหว่างคำ 1, 2i มีอย่างแน่นอน เคข้อผิดพลาด แล้ว (, 1) = เค, (, 2) = ( 1, 2) – (, 1) ≤ เค- ดังนั้นจากคำว่า c จึงเป็นไปไม่ได้ที่จะสร้างคำรหัสที่ถูกส่งขึ้นมาใหม่อย่างไม่น่าสงสัย 1หรือ 2. เราเกิดความขัดแย้ง

ตัวอย่างที่ 13.3 - พิจารณารหัสห้าบิตต่อไปนี้สำหรับคำที่มีความยาว 2 ในตัวอักษร ใน = {0,1}:

1= เค(00) = 00000, 2= เค(01) = 01011,

3= เค(10) = 10101, 4= เค(11) =11110.

ระยะห่างขั้นต่ำระหว่างคำรหัสที่แตกต่างกันคือ (สอง, บีเจ) = 3 โดยอาศัยทฤษฎีบทแรกเกี่ยวกับรหัสการตรวจจับ รหัสนี้สามารถตรวจจับข้อผิดพลาดได้ไม่เกินสองคำในหนึ่งคำ ตามทฤษฎีบทที่สอง รหัสสามารถแก้ไขข้อผิดพลาดได้มากที่สุดเพียงหนึ่งคำในหนึ่งคำ

รหัสกลุ่ม

มาดูรหัสคำในตัวอักษรกันดีกว่า ใน= (0, 1) หากเป็นคำที่มีความยาว มีการใช้รหัสคำที่มีความยาว nจากนั้นเราจะเรียกรหัสดังกล่าว ( , n)-รหัส ความยาวคำทั้งหมด เท่ากับ 2 - การตั้งค่า ( , n)-code คุณสามารถแสดงรายการคำรหัสสำหรับทุกคนได้ คำที่เป็นไปได้ความยาว ดังตัวอย่างก่อนหน้านี้ วิธีที่ประหยัดกว่าในการระบุคำรหัสคืองานเมทริกซ์

ในกรณีนี้จะระบุเมทริกซ์การสร้าง = ∣∣ กิจ∣∣ สั่ง × nจาก 0 และ 1 คำรหัสจะถูกกำหนดในแต่ละครั้งด้วยคำ = 1 2... ที่โดยการคูณคำนี้ทางด้านซ้ายเป็นเวกเตอร์ ด้วยเมทริกซ์การสร้าง

นอกจากนี้ที่นี่ถูกกำหนดไว้แบบโมดูโล 2 เพื่อที่จะ คำที่แตกต่างกันสอดคล้องกับคำรหัสที่แตกต่างกัน ก็เพียงพอที่จะมีในเมทริกซ์ หน่วยย่อยของคำสั่ง เช่นอันซ้ายสุด

ตัวอย่างที่ 13.4 - พิจารณาเมทริกซ์กำเนิด

เมทริกซ์นี้กำหนดรหัส (3, 4) ในกรณีนี้ อักขระสามตัวแรกในคำรหัสเป็นข้อมูล และตัวที่สี่เป็นตัวควบคุม มันเท่ากับ 0 ถ้า เลขคู่หน่วยในคำเดิม และ 1 ถ้า เลขคี่หน่วย ตัวอย่างเช่นสำหรับคำว่า = 101 รหัสจะเป็น = เอจี= 1,010 ระยะห่างขั้นต่ำของ Hamming ระหว่างโค้ดเวิร์ดคือ (สอง, บีเจ) = 2 ดังนั้น นี่คือโค้ดที่ตรวจพบข้อผิดพลาดแบบครั้งเดียว

คำจำกัดความ 13.2รหัสนี้เรียกว่า กลุ่ม ถ้าชุดของคำรหัสทั้งหมดรวมกันเป็นกลุ่ม จำนวนหน่วยในคำว่า a เรียกว่า ตาชั่งคำและแสดงว่าถ้า - รหัสคำและคำที่ได้รับในช่องทางการสื่อสาร กับ = ข + อีแล้วคำว่า เรียกว่า เวกเตอร์ของข้อผิดพลาด .

ทฤษฎีบท 13.3ให้มีกลุ่ม ( , n)-รหัส. จากนั้นกลุ่มสับเปลี่ยน ถึงของคำรหัสทั้งหมดเป็นกลุ่มย่อยของกลุ่มสับเปลี่ยน กับทุกคำที่มีความยาว nซึ่งสามารถรับได้ในช่องทางการสื่อสาร ระยะห่างที่น้อยที่สุดระหว่างคำรหัสจะเท่ากับน้ำหนักที่น้อยที่สุดของคำรหัสที่ไม่เป็นศูนย์ และ

พิจารณากลุ่มตัวประกอบ เอส/เค- โคเซตที่นี่จะถูกกำหนดโดยการเปลี่ยนแปลง อี + ข, เค.

ในฐานะตัวแทนของคลาส coset เราเลือกองค์ประกอบที่มีน้ำหนักน้อยที่สุด เราจะเรียกองค์ประกอบดังกล่าวว่า ผู้นำชั้นเรียนที่อยู่ติดกัน .

หากผู้นำถูกตีความว่าเป็นเวกเตอร์ข้อผิดพลาด แต่ละคลาสที่อยู่ติดกันจะเป็นชุดของคำที่บิดเบี้ยวในช่องทางการสื่อสารที่มีเวกเตอร์ข้อผิดพลาดคงที่ โดยเฉพาะอย่างยิ่งเมื่อ = 0 เรามีคลาสของคำที่อยู่ติดกันโดยไม่มีการบิดเบือน กล่าวคือ ชุดของคำรหัสทั้งหมด กระบวนการแก้ไขและถอดรหัสคำ กับประกอบด้วยการค้นหาคลาสที่อยู่ติดกันซึ่งมีคำนั้นอยู่ กับ = + - เวกเตอร์ข้อผิดพลาด กำหนดจำนวนและตำแหน่งของข้อผิดพลาดคำรหัส กำหนดการแก้ไขคำที่ได้รับ

เพื่ออำนวยความสะดวกในการค้นหา coset และเวกเตอร์ข้อผิดพลาด Hamming เสนอให้ใช้รหัสกลุ่มที่มีเมทริกซ์การสร้างพิเศษ

รหัสแฮมมิง

ให้เราพิจารณาการก่อสร้าง Hamming ( , n)-รหัสที่มีน้ำหนักคำรหัสน้อยที่สุดเท่ากับ 3 กล่าวคือ รหัสที่แก้ไขข้อผิดพลาดหนึ่งข้อ

เอาล่ะใส่ n = 2 – 1 และให้แต่ละคำรหัสประกอบด้วย อักขระควบคุม และ ตัวอักษร ( = n= 2 – 1– ) - ข้อมูล ≥ 2 เช่น รหัส (1, 3) รหัส (4, 7) เป็นต้น นอกจากนี้ ในแต่ละคำรหัส = 1 2... บีพีสัญลักษณ์ที่มีดัชนี องศาที่เท่ากัน 2 รายการจะเป็นรายการควบคุม และส่วนที่เหลือจะเป็นข้อมูล ตัวอย่างเช่น สำหรับโค้ด (4, 7) ในโค้ดเวิร์ด = 1 2 3 4 5 6 7 ตัวอักษร 1 2 4 จะเป็นตัวควบคุมและสัญลักษณ์ 3 5 6 7- ข้อมูล เพื่อระบุเมทริกซ์ตัวสร้าง แฮมมิงส์ ( , n)-รหัส พิจารณา เมทริกซ์เสริม คำสั่ง × n, ที่ไหน n = 2 – 1 ดังกล่าวในแต่ละ เจคอลัมน์เมทริกซ์ จะมีสัญลักษณ์ไบนารี่ เจตัวอย่างเช่น สำหรับโค้ด (4, 7) ของเมทริกซ์ จะเป็น 3 × 7:



เรากำหนดชุดของคำรหัสทั้งหมดเป็นชุดของการแก้ปัญหา ระบบที่เป็นเนื้อเดียวกันเชิงเส้น สมการพีชคณิตใจดี

ข มท= 0.

ตัวอย่างเช่น สำหรับโค้ด (4, 7) ระบบดังกล่าวจะเป็น:

ให้เราเลือกพื้นฐานรองตามธรรมชาติของระบบ ข มท= 0 อยู่ในคอลัมน์ที่มีตัวเลขเท่ากับยกกำลัง 2 ดังนั้นเราจึงแบ่งตัวแปรออกเป็นพื้นฐาน (รหัส) และอิสระ (ข้อมูล) ตอนนี้เมื่อมีการกำหนดตัวแปรอิสระแล้ว มันจึงเป็นเรื่องง่ายที่จะรับตัวแปรพื้นฐาน เรามาค้นหาระบบพื้นฐานกันดีกว่า = nคำตอบของระบบเอกพันธ์นี้ แล้วคำตอบใดๆ ของระบบก็คือผลรวมเชิงเส้นของพวกนี้ การตัดสินใจ เลยเขียนออกมาทีละบรรทัด การแก้ปัญหาของระบบพื้นฐานในรูปของเมทริกซ์ ขนาด × nเราได้รับเมทริกซ์การสร้างของกลุ่มแฮมมิง ( , n)-รหัส เช่น สำหรับ (4, 7)-รหัส ระบบพื้นฐานคำตอบจะมี 4 = 7 – 3 คำตอบต่อไปนี้ของระบบที่เป็นเนื้อเดียวกัน:

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

ผลรวมเชิงเส้นใดๆ ของผลเฉลยเหล่านี้จะเป็นผลเฉลย เช่น คำรหัส ให้เราเขียนเมทริกซ์กำเนิดจากคำตอบพื้นฐานเหล่านี้

ตอนนี้ตามคำใด ๆ ความยาว = 4 คำรหัสคำนวณง่าย ๆ ความยาว n= 7 โดยใช้เมทริกซ์ตัวสร้าง = เอจี- ขณะเดียวกันก็มีสัญลักษณ์ต่างๆ 3, 5, 6, 7 จะเป็นข้อมูล. พวกเขาตรงกันกับ 1, 1, 3, 4.สัญลักษณ์ 1, 2, 4 จะถูกควบคุม

บทสรุป- รหัสการแฮมมิงมีความสะดวกเนื่องจากสามารถกำหนด cosets ได้ง่ายระหว่างการถอดรหัส ให้คำที่ได้รับผ่านช่องทางการสื่อสารเป็น กับ = + , ที่ไหน - ข้อผิดพลาด, - คำรหัส จากนั้นคูณด้วยเมทริกซ์เสริม ซีเอ็มที= ( + )มท= อีเอ็ม ที- ถ้า อีเอ็ม ที= 0 ตามด้วยคำว่า กับ- รหัสและเราพิจารณาว่า: ไม่มีข้อผิดพลาด ถ้า อีเอ็ม ที≠ 0 จากนั้นคำว่า กำหนดข้อผิดพลาด

จำได้ว่า Hammings ที่สร้างขึ้น ( , n)-code ระบุข้อผิดพลาดหนึ่งรายการ ดังนั้นเวกเตอร์ข้อผิดพลาด มีหนึ่งหน่วยใน ฉันตำแหน่ง อีกทั้งจำนวน ฉันตำแหน่งจะได้รับในการเป็นตัวแทนไบนารี่ตามผลลัพธ์ อีเอ็ม ที, ตรงกับ ฉันคอลัมน์เมทริกซ์ - มันยังคงเปลี่ยนสัญลักษณ์ ฉันในคำว่า c ที่ได้รับผ่านช่องสัญญาณ ให้ขีดฆ่าอักขระควบคุมและจดคำที่ถอดรหัสไว้

เช่น ให้คำที่ยอมรับเป็น กับ= 1100011 สำหรับรหัสแฮมมิง (4, 7) ลองคูณคำนี้ด้วยเมทริกซ์กัน เอ็ม ที- เราได้รับ

(1100011)ม =(010).

ดังนั้นจึงมีข้อผิดพลาดในอักขระตัวที่สอง ดังนั้นคำรหัสจะเป็น = 1000011 ขีดฆ่าอักขระควบคุม 1, 2, 4.คำที่ถอดรหัสจะเป็น = 0011.

แน่นอนหากเกิดข้อผิดพลาดด้วยอักขระมากกว่าหนึ่งตัว รหัสนี้จะไม่สามารถแก้ไขได้

) วี พื้นที่เวกเตอร์ลำดับโค้ด ในกรณีนี้ ระยะห่างของแฮมมิงระหว่างลำดับไบนารี่สองลำดับ (เวกเตอร์) และความยาวคือจำนวนตำแหน่งที่แตกต่างกัน - ในสูตรนี้ ระยะห่างของแฮมมิงจะรวมอยู่ในพจนานุกรมอัลกอริทึมและโครงสร้างข้อมูล สถาบันแห่งชาติมาตรฐานสหรัฐอเมริกา ( ภาษาอังกฤษ พจนานุกรมอัลกอริทึมและโครงสร้างข้อมูลของ NIST ).

ดังนั้น ระยะห่างของแฮมมิงระหว่างเวกเตอร์ 0 011 1 และ 1 010 1 เท่ากับ 2 (ความแตกต่างจะถูกทำเครื่องหมายด้วยสีแดง บิต- ต่อมา ตัวชี้วัดถูกทำให้เป็นลำดับ q-ary: สำหรับคู่ของสตริง “election” และ “fence” ระยะ Hamming จะเท่ากับสาม

ใน มุมมองทั่วไปฟังก์ชัน Hamming Distance สำหรับวัตถุและขนาดกำหนดไว้ดังนี้

ระยะแฮมมิงมีคุณสมบัติเป็นหน่วยเมตริก ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้:

ระยะแฮมมิงเข้ามา ชีวสารสนเทศศาสตร์และ จีโนมิกส์

วรรณกรรม

  • ริชาร์ด ดับเบิลยู. แฮมมิง- รหัสการตรวจจับข้อผิดพลาดและการแก้ไขข้อผิดพลาด วารสารเทคนิคระบบเบลล์ 29(2):147-160, 1950
  • ริชาร์ด ไบลชัต- ทฤษฎีและการปฏิบัติของรหัสควบคุมข้อผิดพลาด ม., "มีร์", 2529

ลิงค์

  • Richard Hamming และจุดเริ่มต้นของทฤษฎีการเข้ารหัส // พิพิธภัณฑ์คอมพิวเตอร์เสมือน

มูลนิธิวิกิมีเดีย

2010.

    ระยะแฮมมิงดูว่า "Hamming Distance" ในพจนานุกรมอื่น ๆ คืออะไร: - ระยะแฮมมิง ระยะทาง d (u,v) ระหว่างลำดับโค้ดสองลำดับ u และ v ที่มีความยาวเท่ากันเท่ากับจำนวน

    ตัวละครที่แตกต่างกัน รหัสบล็อกที่มีระยะแฮมมิงขั้นต่ำ d ช่วยให้สามารถตรวจจับ (d 1) และ... ...ระยะทางรหัส - ระยะแฮมมิงขั้นต่ำที่ใช้กับโค้ดเวิร์ดต่าง ๆ ทั้งหมดในโค้ดชุดเดียวกัน [รวบรวมคำศัพท์ที่แนะนำ ฉบับที่ 94 ทฤษฎีการส่งข้อมูล สถาบันวิทยาศาสตร์แห่งสหภาพโซเวียต คณะกรรมการคำศัพท์ทางเทคนิค 2522] ทฤษฎีหัวข้อ... ...

    คู่มือนักแปลทางเทคนิค ในสาขาคณิตศาสตร์และทฤษฎีสารสนเทศ รหัสเชิงเส้นคือประเภทที่สำคัญ

    รหัสบล็อกที่ใช้ในวงจรตรวจจับและแก้ไขข้อผิดพลาด โค้ดเชิงเส้นเมื่อเปรียบเทียบกับโค้ดอื่นๆ ช่วยให้สามารถนำอัลกอริธึมที่มีประสิทธิภาพมากขึ้นไปใช้... ... Wikipedia

    การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสารเป็นการดำเนินการที่มุ่งเป้าไปที่การตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการกู้คืนการแก้ไขข้อผิดพลาด (แก้ไขข้อผิดพลาด)... ... Wikipedia

    การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสารเป็นการดำเนินการที่มุ่งเป้าไปที่การตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia

    การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสารเป็นการดำเนินการที่มุ่งเป้าไปที่การตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia

    การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสารเป็นการดำเนินการที่มุ่งเป้าไปที่การตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia