Mã phát hiện lỗi và mã sửa lỗi
Bởi R. W. HAMMING
- Giới thiệu
Tác giả được dẫn dắt đến nghiên cứu được trình bày trong bài báo này từ việc xem xét các máy tính quy mô lớn, trong đó một số lượng lớn các phép toán phải được thực hiện mà không có một lỗi nào trong kết quả cuối cùng. Vấn đề "làm mọi việc đúng" trên quy mô lớn về cơ bản không phải là mới; chẳng hạn, trong một tổng đài điện thoại, một số lượng rất lớn các phép toán được thực hiện trong khi các lỗi dẫn đến các số sai được kiểm soát chặt chẽ, mặc dù chúng chưa được loại bỏ hoàn toàn. Điều này đã đạt được, một phần, thông qua việc sử dụng các mạch tự kiểm tra. Sự cố thỉnh thoảng thoát khỏi việc kiểm tra thường lệ vẫn được khách hàng phát hiện và nếu nó kéo dài, sẽ dẫn đến khiếu nại của khách hàng, trong khi nếu nó là tạm thời thì nó chỉ tạo ra các số sai không thường xuyên. Đồng thời, phần còn lại của tổng đài vẫn hoạt động thỏa đáng. Mặt khác, trong một máy tính số, một sự cố đơn lẻ thường có nghĩa là sự hỏng hóc hoàn toàn, theo nghĩa rằng nếu nó được phát hiện thì không thể tiếp tục tính toán cho đến khi sự cố được xác định và sửa chữa, còn nếu nó thoát khỏi việc phát hiện thì nó làm mất hiệu lực tất cả các phép toán tiếp theo của máy.