ในการดำเนินงานอัตโนมัติใด ๆระบบต้องเผชิญกับปัญหาการรับรู้ข้อมูลที่เพียงพอความบริสุทธิ์ของข้อมูลที่ได้รับการค้นหาข้อผิดพลาดรวมถึงการแก้ไข ยิ่งงานที่มอบหมายให้วัตถุการประมวลผลข้อมูลมีความซับซ้อนมากขึ้นระบบที่มีความซับซ้อนและละเอียดอ่อนมากขึ้นในการระบุองค์ประกอบซอฟต์แวร์ที่ล้มเหลวและข้อผิดพลาดในการไหลของข้อมูลที่ต้องใช้งาน
หนึ่งในตัวเลือกสำหรับการตรวจสอบข้อมูลสตรีมสำหรับข้อผิดพลาดและแม้แต่การแก้ไขก็คือการเข้ารหัสข้อมูลตัวเลข มีรหัสและวิธีการมากมายที่ใช้เมื่อทำงานกับข้อมูลที่หลากหลาย รหัส Hamming ที่เรียกว่าเป็นตัวอย่างคลาสสิกซึ่งกลายเป็นจุดเริ่มต้นสำหรับการสร้างวิธีที่ซับซ้อนและซับซ้อนยิ่งขึ้นในการค้นหาและกำจัดข้อผิดพลาดที่เกิดขึ้นระหว่างการถ่ายโอนข้อมูล
เรื่องราวของรหัสเริ่มต้นที่ตรงกลางปี 1940 ในเวลานี้ Richard Hamming เชี่ยวชาญเครื่องคำนวณรุ่นเบลล์ V ซึ่งทำงานใน Bell Labs ที่มีชื่อเสียง จากนั้นมันก็เป็นกลไกที่ล้ำสมัยโดยใช้หลักการทางไฟฟ้าของการกระทำ การออกแบบของเครื่องใช้บล็อกรีเลย์ การใช้งานของพวกเขาไม่ได้ให้ความเร็วที่เพิ่มขึ้นอย่างมีนัยสำคัญ การปฏิวัติครั้งเดียวใช้เวลาหลายวินาที ข้อมูลถูกป้อนโดยใช้บัตรเจาะและข้อผิดพลาดในกระบวนการอ่านไม่เป็นเรื่องผิดปกติ ในวันธรรมดามีการใช้รหัสพิเศษเพื่อตรวจหาและแก้ไขข้อผิดพลาดที่พบ เครื่องแจ้งผู้ปฏิบัติงานด้วยแสงไฟจากหลอดไฟซึ่งจะแก้ไขข้อผิดพลาดและเริ่มกระบวนการคำนวณใหม่ แต่ในช่วงสุดสัปดาห์กระบวนการดังกล่าวเกิดขึ้นตามกฎอื่น ๆ เมื่อตรวจพบข้อผิดพลาดเครื่องจะหยุดการทำงานของโปรแกรมแรกโดยอัตโนมัติและดำเนินการกับการทำงานของโปรแกรมอื่น
ตั้งแต่ Hamming ต้องทำงานบ่อยมากในวันหยุดสุดสัปดาห์เขาหงุดหงิดมากกับพฤติกรรมที่คล้ายกันของคอมพิวเตอร์เพราะทุกครั้งที่เขาต้องรีสตาร์ทโปรแกรมที่เขาทำงานอยู่ เขาต้องใช้เวลาหลายปีในการสร้างอัลกอริธึมการแก้ไขข้อผิดพลาดที่มีประสิทธิภาพที่สุด ผลที่ตามมาก็คือในปี 1950 เขาสามารถค้นหาและเผยแพร่วิธีที่ดีที่สุดในการแก้ปัญหานี้ได้ในขณะนี้มันเป็นที่รู้จักทั่วโลกในชื่อรหัส Hamming
โซลูชันที่เสนอโดย Richard Hemming ได้รับแพร่หลายทันที มีการเพิ่มบล็อกขนาดใหญ่จำนวนมากในวิธีการเข้ารหัสข้อมูล ตัวอย่างเช่นรหัสระบบแสดงถึงกลุ่มขนาดใหญ่ที่ประกอบด้วยบล็อกที่เรียกว่ารหัสที่แยกกันได้ (หรืออีกนัยหนึ่งคือรหัสที่อักขระทั้งหมดถูกแบ่งออกเป็นรหัสข้อมูลและรหัสตรวจสอบ)
รหัสที่เป็นระบบมีความไม่ชอบมาพากลสัญลักษณ์ตรวจสอบเป็นผลลัพธ์ของการดำเนินการเชิงเส้นบนสัญลักษณ์ข้อมูล ยิ่งไปกว่านั้นใน codeword ใด ๆ ที่ได้รับอนุญาตมีความเป็นไปได้ที่จะได้รับผลลัพธ์จากการดำเนินการเชิงเส้นที่ดำเนินการกับชุดของคำรหัสเชิงเส้นอิสระ
รหัส Hamming คือรหัสตรวจสอบตัวเอง รหัสเหล่านี้ช่วยให้ตรวจพบข้อผิดพลาดโดยอัตโนมัติระหว่างการถ่ายโอนข้อมูล ในการสร้างสิ่งเหล่านี้จำเป็นต้องกำหนดตัวเลขไบนารีควบคุมหนึ่งตัว (เพิ่มเติม) ให้กับแต่ละคำเท่านั้น หมายเลขจะถูกเลือกเพื่อให้ในจำนวนหน่วยทั้งหมดเมื่อแสดงตัวเลขตามเงื่อนไขจะเป็นเลขคู่
หากเกิดข้อผิดพลาดเพียงครั้งเดียวก็จะเปลี่ยนพาริตีในจำนวนทั้งหมด
รหัสที่นำไปสู่การแก้ไขข้อผิดพลาดในโหมดอัตโนมัติเรียกว่าการแก้ไขตนเอง ในการสร้างรหัสดังกล่าวการควบคุมบิตเดียวไม่เพียงพออีกต่อไป สิ่งที่น่าสนใจที่สุดคือบล็อกรหัสไบนารีซึ่งกำลังแก้ไข
เมื่อสรุปแล้วเราสามารถสรุปได้ว่าโค้ด Hamming ใช้หลักการของความเท่าเทียมกันซึ่งจะตรวจสอบจำนวนอักขระเดี่ยว