Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

CHƯƠNG 1: SƠ LƯỢC VỀ MÃ HAMMING

1. Lịch sử ra đời của mã Hamming

Richard Wesley Hamming (11/2/1915 - 7/1/1998) là một nhà toán học người Mỹ có công
trình nghiên cứu mang nhiều ý nghĩa đối với ngành kĩ thuật máy tính và viễn thông.
Những đóng góp của ông bao gồm mã Hamming (sử dụng ma trận Hamming), cửa số
Hamming, số Hamming, giới hạn Hamming và khoảng cách Hamming.

Trong những năm của thập niên kỷ 1940, Hamming làm công việc vận hành một máy
điện cơ dùng rơ-le. Thường xuyên gặp các nhược điểm khó chịu trong quá trình vận hành
máy như tốc độ hoạt động rất chậm, nhập liệu được cho vào máy bằng những cái thẻ
đục lỗ hầu như máy luôn luôn gây lỗi trong khi đọc. Và khi người điều khiển máy
không có mặt, mỗi khi có lỗi xảy ra, máy tính không tự sửa được lỗi mà tự động bỏ qua
chương trình đang chạy để chuyển qua công việc khác. Hamming càng ngày càng trở nên
bực tức mỗi khi ông phải khởi động lại các chương trình ứng dụng từ đầu, do chất lượng
kém, không đáng tin cậy của bộ máy đọc các thẻ đục lỗ.

Những năm tiếp theo, ông tập trung tâm huyết vào việc xây dựng hàng loạt các thuật toán
có hiệu quả cao đề giải quyết vần đề sửa lỗi. Năm 1950, ông đã công bố một phương pháp
mà hiện nay được biết là Mã Hamming. Một số chương trình ứng dụng hiện thời vẫn còn
sử dụng mã này của ông.

2. Các loại mã trước thời kỳ của Hamming

Mã Hamming không phải là thuật toán giải quyết lỗi đầu tiên, nhưng mã Hamming là mã
có hiệu quả trên chi phí bỏ ra tối ưu nhất. Dưới đây là một số mã sửa lỗi có trước khi mã
Hamming ra đời:

- Mã chẵn lẻ (parity bit/ check bit): là thêm một bit vào trong dữ liệu, và bit cho thêm này
cho biết số lượng bit có giá trị 1 của đoạn dữ liệu nằm trước là một số chẵn hay một số lẻ.
Nếu một bit bị thay đồi trong quá trình truyền dữ liệu, giá trị chẵn lẻ trong thông điệp sẽ
thay đồi và do đó có thể phát hiện được lỗi (Chú ý rằng bit bị thay đồi có thể lại chính là
bit kiểm tra).

- Mã hai-trong-năm (two-out-of-five code) : Mã này đảm bảo mỗi một khối 5 bit (còn
được gọi là khối - 5) có chính xác hai bit có giá trị bằng 1. Máy tính có thể nhận ra là dữ
liệu nhập vào có lỗi nếu trong một khối 5 bit không 2 bit có giá trị bằng 1.

- Tái biến dữ liệu: Một mã nữa được dùng trong thời gian này là mã hoạt động bằng cách
nhắc đi nhắc lại bit dữ liệu vài lần (tái diễn bit được truyền) đề đảm bảo bit dữ liệu được
truyền, truyền đến nơi nhận trọn vẹn.

3. Ứng dụng của mã Hamming

Thế kỉ trước, khi ngành truyền tải dữ liệu chưa phát triển mạnh như ngày nay, tốc độ
truyền dẫn thông tin không cân bằng, thêm vào đó là sự bất ồn định, bị ảnh hưởng nhiều
của môi trường, vì vậy, dẫn đến việc các thông tin, dữ liệu khi truyền đến nơi sẽ bị thiều
hụt, sai lệch. Mã Hamming từ đó đã được tạo ra với mục đích sửa các lỗi tuyến tính ấy.
Các ứng dụng của mã Hamming trải dài nhiều khía cạnh của ngành dữ liệu: Tin học, viễn
thông, nén dữ liệu, giải câu đố và mã turbo, vệ tinh, CAM Plasma, dây được bảo vệ,
modem, bộ nhớ máy tính, mở kết nối, những hệ thống nhúng và bộ xử lý,… Ưu điểm của
mã này là đơn giản, số bit kiểm tra ít, ngoài ra, mã này hoạt động tốt trong việc phát hiện
các lỗi đơn bit và một số trường hợp lỗi hai bit. Tuy nhiên, với nhu cầu hiện nay và sự
phát triển của loài người thì khả năng sửa lỗi của mã Hamming đã không còn đáp ứng
được đa số các chương trình nữa. Dù vậy, mã Hamming vẫn là một trong những bước tiến
lớn trong viễn thông, là một trong những nguyên lý về mật mã đặt nền móng cho sự phát
triển của quá trình truyền tải, sửa đổi thông tin và ứng dụng thông tin vào các mặt của đời
sống hiện tại.

You might also like