P. 1
[VNMATH.COM]-LV-DONGDU-MASUASAI

[VNMATH.COM]-LV-DONGDU-MASUASAI

|Views: 1,883|Likes:
Được xuất bản bởiFox Snow

More info:

Published by: Fox Snow on Sep 30, 2011
Bản quyền:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/14/2013

pdf

text

original

Sections

  • LỜI NÓI ĐẦU
  • Chƣơng 1 LÝ THUYẾT ĐỒNG DƢ
  • §1. Quan hệ đồng dƣ
  • 1.1. Định nghĩa đồng dƣ
  • 1.2. Các tính chất của quan hệ đồng dƣ
  • §2. Thặng dƣ
  • 2.1. Tập các lớp thặng dƣ
  • 2.2. Các tính chất của lớp thặng dƣ
  • 2.3. Tập các lớp thặng dƣ nguyên tố với môđun Nhận xét
  • 2.4. Vành các lớp thặng dƣ
  • §3. Hệ thặng dƣ đầy đủ - Hệ thặng dƣ thu gọn
  • 3.1. Hệ thặng dƣ đầy đủ
  • 3.2. Hệ thặng dƣ thu gọn
  • 3.3. Các định lí quan trọng
  • §4. Phƣơng trình đồng dƣ
  • 4.1. Các khái niệm chung
  • 4.2. Phƣơng trình và hệ phƣơng trình đồng dƣ bậc nhất một ẩn
  • 4.2.1. Phương trình đồng dư bậc nhất một ẩn
  • 4.2.2. Hệ phương trình đồng dư bậc nhất một ẩn
  • 4.3. Phƣơng trình đồng dƣ bậc cao theo môđun nguyên tố
  • 4.3.1. Nhận xét
  • 4.3.2. Phương trình bậc cao theo môđun nguyên tố
  • §1. Khái niệm mã
  • § 2. Những ví dụ về mã
  • 2.1. Mã lặp
  • 2.2. Mã chẵn lẻ
  • 2.3. Mã vạch
  • § 3. Khoảng cách Hamming
  • §4. Mã tuyến tính
  • 4.1. Mã nhị phân tuyến tính
  • 4.2. Biểu diễn ma trận của các mã nhị phân
  • 4.3. Thuật toán hội chứng giải mã cho các mã nhị phân
  • Thuật toán hội chứng giải mã cho các mã nhị phân
  • 4.4. Mã nhị phân Hamming
  • 4.5. Các tính chất của mã nhị phân Hamming [n,k]
  • 4.6. Các p-mã Hamming
  • 4.7. Các tính chất của p-mã Hamming [n,k]
  • §5. Mã thập phân
  • 5.1. Mã số sách tiêu chuẩn quốc tế (ISBN)
  • 5.2. Mã sửa lỗi đơn
  • 5.3. Mã sửa lỗi kép
  • KẾT LUẬN
  • TÀI LIỆU THAM KHẢO

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.

edu.vn
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KHOA HỌC
––––––––––––––––––



NGUYỄN TRỌNG NAM



LÝ THUYẾT ĐỒNG DƢ
VÀ ỨNG DỤNG TRONG MÃ SỬA SAI




LUẬN VĂN THẠC SĨ TOÁN HỌC





THÁI NGUYÊN - 2009
www.VNMATH.com
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KHOA HỌC
––––––––––––––––––


NGUYỄN TRỌNG NAM


LÝ THUYẾT ĐỒNG DƢ
VÀ ỨNG DỤNG TRONG MÃ SỬA SAI


Chuyên ngành: TOÁN SƠ CẤP
Mã số: 60.46.40


LUẬN VĂN THẠC SĨ TOÁN HỌC


Ngƣời hƣớng dẫn khoa học: PGS.TS TẠ DUY PHƢỢNG



THÁI NGUYÊN - 2009
www.VNMATH.com
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
MỤC LỤC
LỜI NÓI ĐẦU .............................................................................................. 1
Chƣơng 1: LÝ THUYẾT ĐỒNG DƢ .......................................................... 3
§ 1. Quan hệ đồng dƣ ................................................................................... 3
1.1. Định nghĩa đồng dư ................................................................................. 3
1.2. Các tính chất của quan hệ đồng dư .......................................................... 4
§ 2. Thặng dƣ ................................................................................................ 7
2.1. Tập các lớp thặng dư ............................................................................... 7
2.2. Các tính chất của lớp thặng dư................................................................. 7
2.3. Tập các lớp thặng dư nguyên tố với môđun ............................................. 9
2.4. Vành các lớp thặng dư ............................................................................. 9
§ 3. Hệ thặng dƣ đầy đủ - Hệ thặng dƣ thu gọn........................................ 11
3.1. Hệ thặng dư đầy đủ................................................................................ 11
3.2. Hệ thặng dư thu gọn .............................................................................. 13
3.3. Các định lí quan trọng ........................................................................... 16
§ 4. Phƣơng trình đồng dƣ ......................................................................... 17
4.1. Các khái niệm chung ............................................................................. 17
4.2. Phương trình và hệ phương trình đồng dư bậc nhất một ẩn .................... 23
4.2.1. Phương trình đồng dư bậc nhất một ẩn ............................................... 23
4.2.2. Hệ phương trình đồng dư bậc nhất một ẩn .......................................... 26
4.3. Phương trình đồng dư bậc cao theo môđun nguyên tố .......................... 31
4.3.1. Nhận xét ............................................................................................. 31
4.3.2. Phương trình bậc cao theo môđun nguyên tố ...................................... 32
Chƣơng 2: ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƢ TRONG
MÃ SỬA SAI ...................................................................................... 36
§ 1. Khái niệm mã ....................................................................................... 36
§ 2. Những ví dụ về mã ............................................................................... 39
www.VNMATH.com
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
2.1. Mã lặp ................................................................................................... 39
2.2. Mã chẵn lẻ ............................................................................................. 41
2.3. Mã vạch ................................................................................................ 44
§ 3. Khoảng cách Hamming ...................................................................... 48
§ 4. Mã tuyến tính ....................................................................................... 53
4.1. Mã nhị phân tuyến tính .......................................................................... 53
4.2. Biểu diễn ma trận của các mã nhị phân .................................................. 55
4.3. Thuật toán hội chứng giải mã cho các mã nhị phân ............................... 65
4.4. Mã nhị phân Hamming .......................................................................... 67
4.5. Các tính chất của mã nhị phân Hamming [n,k] ...................................... 70
4.6. Các p-mã Hamming ............................................................................... 71
4.7. Các tính chất của p-mã Hamming [n,k] ................................................. 74
§ 5. Mã thập phân ...................................................................................... 77
5.1. Mã số sách tiêu chuẩn quốc tế (ISBN) ................................................... 77
5.2. Mã sửa lỗi đơn ....................................................................................... 82
5.3. Mã sửa lỗi kép ....................................................................................... 84
KẾT LUẬN ................................................................................................. 88
TÀI LIỆU THAM KHẢO .......................................................................... 89
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
1
LỜI NÓI ĐẦU
Có thể nói, số học, lý thuyết số là một trong những kiến thức toán học
lâu đời nhất. Từ trước tới nay, người ta thường coi lý thuyết số như một lĩnh
vực đẹp, nhưng thuần túy lý thuyết, của toán học. Với sự phát triển của khoa
học máy tính và công nghệ thông tin, lý thuyết số đã đóng góp những ứng
dụng thực tế bất ngờ và quan trọng, đặc biệt trong lĩnh vực mã hóa thông tin.
Nhiều khía cạnh khác nhau của mã hóa thông tin được các nhà toán học
và tin học quan tâm. Thường thường thông tin được mã hóa qua dãy các chữ
số trong hệ đếm cơ số 2, cơ số 10, hoặc cơ số p nào đó. Trong quá trình
truyền tin hoặc nhận tin, vì nhiều lý do, thông tin có thể bị sai lệch. Thí dụ,
một tin nhắn được mã hóa trong cơ số 2 khi truyền đi bị sai một lỗi (lỗi đơn)
thì điều này có nghĩa là chữ số 1 tại vị trí nào đó đã bị đổi thành chữ số 0 hoặc
ngược lại. Một trong những vấn đề cần giải quyết là phát hiện ra các lỗi sai và
sửa chúng.
Vì yêu cầu thực tiễn đó, lý thuyết mã sửa sai đã ra đời, phát triển và có
những ứng dụng thực tiễn quan trọng. Để xây dựng lý thuyết mã sửa sai, các
nhà toán học và khoa học máy tính đã sử dụng nhiều thành tựu của toán học
hiện đại (số học, toán rời rạc, đại số tuyến tính,...,) đặc biệt là số học trên tập
số nguyên, trong đó có lý thuyết đồng dư.
Luận văn này có mục đích tìm hiểu và trình bày những kiến thức cơ
bản nhất của lý thuyết mã sửa sai trên cơ sở lý thuyết đồng dư và lý thuyết
trường hữu hạn.
Luận văn gồm hai chương.
Chương 1 trình bày các kiến thức cơ bản nhất của lý thuyết đồng dư
và lý thuyết trường hữu hạn, chủ yếu dựa theo tài liệu [2], có tham khảo thêm
các tài liệu [4] và [6].
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
2
Chương 2 trình bày một số vấn đề cơ bản của mã sửa sai: khoảng cách
Hamming; phát hiện và sửa lỗi; các thuật toán giải mã; mã hoàn hảo; mã
tuyến tính và ma trận kiểm tra, xây dựng mã tuyến tính,...
Nội dung của Chương 2 trình bày chủ yếu dựa theo tài liệu [6], có tham
khảo thêm các tài liệu [1] và [7]. Ngoài ra, chúng tôi cũng quan tâm đến khía
cạnh thực tế của vấn đề: mã vạch, mã hàng hóa, mã sách tiêu chuẩn quốc
tế,.... Chúng tôi cũng cố gắng tìm hiểu, tuy chưa được đầy đủ, các mã hàng
hóa, mã văn hóa phẩm của Việt Nam và kiểm nghiệm các tiêu chuẩn giải mã
cho các ví dụ cụ thể của các mã này.
Luận văn được hoàn thành dưới sự hướng dẫn khoa học của PGS TS Tạ
Duy Phượng. Xin được tỏ lòng cám ơn chân thành nhất tới Thầy.
Tác giả xin cám ơn chân thành tới Trường Đại học Khoa học Thái
Nguyên, nơi tác giả đã nhận được một học vấn sau đại học căn bản.
Và cuối cùng, xin cám ơn gia đình, bạn bè, đồng nghiệp đã cảm thông,
ủng hộ và giúp đỡ trong suốt thời gian tác giả học Cao học và viết luận văn.
Hà Nội, ngày 19 tháng 9 năm 2009
Tác giả


Nguyễn Trọng Nam
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
3
Chƣơng 1
LÝ THUYẾT ĐỒNG DƢ
§1. Quan hệ đồng dƣ
1.1. Định nghĩa đồng dƣ
Kí hiệu là tập hợp các số nguyên.
Định nghĩa
Cho m là một số nguyên dương, a và b là hai số nguyên. Ta nói a và b
đồng dư với nhau theo môđun m nếu trong phép chia a và b cho m ta được
cùng một số dư, nghĩa là có các số nguyên
1
q ,
2
q , r với 0 r m s < sao cho
1
a mq r = + và
2
b mq r = + .
Khi a và b đồng dư với nhau theo môđun m, ta viết a ≡ b
( ) mod m .
Nếu a không đồng dư với b theo môđun m thì ta viết a ÷
/
b
( ) mod m .
Định lý
Các mệnh đề sau là tương đương.
i. a và b đồng dư với nhau theo môđun m;
ii. a – b chia hết cho m (kí hiệu là
( )
m a b ÷ );
iii. Tồn tại số nguyên t sao cho a = b+mt.
Chứng minh
i ¬ii. Ta có a ≡ b
( ) mod m ·
1
a mq r = + ,
2
b mq r = + với
1 2
, , q q r e , 0 r m s < . Suy ra
( )
1 2
a b m q q ÷ = ÷ . Do
1 2
q q ÷ e nên
( ) m a b ÷ .
ii ¬iii. Giả sử ( ) ÷ m a b . Khi ấy tồn tại số te sao cho a b mt ÷ = ,
tức là a = b + mt.
iii ¬i. Giả sử có số t e sao cho a = b + mt. Gọi r là số dư trong phép
chia a cho m, nghĩa là a = m
1
q + r với
1
q , r e , 0 s < r m. Khi ấy:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
4
1
b mt a mq r + = = + hay
( )
1
b m q t r = ÷ + , trong đó
1
q t ÷ e , 0 r m s < .
Chứng tỏ số dư trong phép chia b cho m cũng là r, tức là
( ) mod ÷ a b m .
1.2. Các tính chất của quan hệ đồng dƣ
a. Quan hệ đồng dư là một quan hệ tương đương trên tập :
i. Với mọi ae : a ≡ a
( ) mod m ;
ii. Với mọi , a be : a≡ b
( ) mod m khi và chỉ khi b ≡ a
( ) mod m ;
iii. Với mọi , , a b ce :
( ) mod a b m ÷ ,
( ) mod b c m ÷ suy ra
( ) mod a c m ÷ .
Chứng minh
i. Vì a a ÷ chia hết cho m nên
( ) mod a a m ÷ .
ii. Từ
( ) mod a b m ÷ ta có
( ) ÷ m a b . Do đó
( ) ÷ m b a ¬b ≡
a
( ) mod m .
iii. Ta có a ≡ b
( ) mod m và b ≡ c
( ) mod m nên
( ) ÷ m a b và
( ) ÷ m b c .
Khi đó ( ) ( ) ( )
÷ + ÷ m a b b c hay
( ) ÷ m a c . Vậy a ≡ c
( ) mod m .
b. Ta có thể cộng hoặc trừ từng vế của nhiều đồng dư thức theo cùng
một môđun. Cụ thể là, nếu
( )
1 1
mod ÷ a b m và
( )
2 2
mod ÷ a b m thì ta có:
( )
1 2 1 2
mod ± ÷ ± a a b b m .
Chứng minh
Từ
( )
1 1
mod ÷ a b m ,
( )
2 2
mod ÷ a b m suy ra tồn tại
1 2
, t t e sao cho
1 1 1
= + a b mt ,
2 2 2
= + a b mt . Do đó
( )
1 2 1 2 1 2
± ÷ ± + ± a a b b m t t với
1 2
t t ± e .
Vậy ( )
1 2 1 2
mod ± ÷ ± a a b b m .
c. Ta có thể nhân từng vế của nhiều đồng dư thức theo cùng một môđun.
Cụ thể là, nếu
( )
1 1
mod ÷ a b m ,
( )
2 2
mod ÷ a b m thì
( )
1 2 1 2
mod ÷ a a bb m .
Chứng minh
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
5
Từ
( )
1 1
mod ÷ a b m ,
( )
2 2
mod ÷ a b m suy ra tồn tại
1 2
, t t e sao cho
1 1 1
= + a b mt ,
2 2 2
= + a b mt .
Do đó
( )
1 2 1 2 2 1 1 2 1 2
a a bb m b t bt mt t = + + + ,
2 1 1 2 1 2
+ + b t bt mt t e .
Vậy
1 2 1 2
a a bb ÷ chia hết cho m hay
( )
1 2 1 2
mod ÷ a a bb m .
d. Hệ quả
1. a ≡ b
( ) mod m khi và chỉ khi a ± c ≡ b ± c
( ) mod m .
Thật vậy, ta có a ≡ b
( ) mod m và c≡c
( ) mod m .
Vậy a± c ≡ b ± c
( ) mod m .
2. a + c ≡ b
( ) mod m khi và chỉ khi
( )( ) mod a b c m ÷ ÷ .
Thật vậy, ta có a ≡ b
( ) mod m , c ≡ c
( ) mod m . Vậy
( )( ) mod a b c m ÷ ÷ .
3.
( ) mod a b m ÷ khi và chỉ khi a ± km ≡ b
( ) mod m với mọi k e .
Thật vậy, a ≡ b
( ) mod m , km ≡ 0
( ) mod m . Vậy a ± km ≡ b
( ) mod m .
4.
( ) mod a b m ÷ khi và chỉ khi ac ≡ bc
( ) mod m .
Ta có
( ) mod a b m ÷ ,
( ) mod c c m ÷ . Vậy
( ) mod ac bc m ÷ .
5.
( ) mod a b m ÷ ¬
n n
a b ÷
( ) mod m n ¬ e , n > 0.
Ta có
( )
mod a b m ÷ ;
( )
mod a b m ÷ ; ...;
( )
mod a b m ÷
Suy ra ÷
n n
a b
( )
mod m .
6. Giả sử f(x) là một đa thức với hệ số nguyên và
( )
mod m o | ÷ . Khi ấy
f(α) ≡ f(β)
( )
mod m
Đặc biệt, nếu f(α) ≡ 0
( )
mod m thì f(α + km) ≡ 0
( )
mod m với mọi k e .
Chứng minh
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
6
Thật vậy, giả sử f(x) =
0 1
... + + +
n n
a a x a x . Từ giả thiết α ≡ β
( )
mod m
suy ra
i i
i i
a a o | ÷
( )
mod m , i = 1, 2,...., n. Do đó
+ ... + ≡ + ... +
( )
mod m ,
nghĩa là f(α) ≡ f(β)
( )
mod m .
Đặc biệt, vì
( )( )
mod km m o o ÷ + k ¬ e nên f(α)≡ f(α + km)
( )
mod m .
Nhưng f(α) ≡ 0
( )
modm nên ta có f(α + km) ≡0
( )
mod m với mọi k e .
e. Ta có thể chia hai vế của một đồng dư thức cho một ước chung của
chúng nguyên tố với môđun m:
ac ≡ bc
( )
mod m và ( ) , 1 UCLN c m = ¬a ≡ b
( )
mod m .
Chứng minh
Ta có ac ≡ bc
( )
mod m ¬m (ac - bc) hay m|c(a - b). Nhưng ( ) , 1 m c =
nên ta có
( ) ÷ m a b ¬a ≡ b
( )
mod m .
f. Có thể chia hai vế và môđun của một đồng dư thức cho một ước
chung dương của chúng:
( )
mod a b m ÷ , 0 o < e , ( ) , , UCLN a b m o ¬ mod
a b m
o o o
| |
÷
|
\ .
.
Chứng minh
Từ giả thiết δ|(a, b, m), ta đặt a = δ
1
a , b = δ
1
b , m = δ
1
m với
1
a ,
1
b ,
1
m e ,
1
0 m > . Mặt khác, a ≡ b
( )
mod m ¬a = b + mt, te . Ta có:
1 1 1
= + a b m o o o
1 1 1
¬ = + a b mt ( )
1 1 1
mod a b m ¬ ÷ hay mod
a b m
o o o
| |
÷
|
\ .
.
g. Nếu hai số đồng dư với nhau theo một môđun thì chúng cũng đồng
dư theo môđun là ước của môđun ấy:
a ≡ b
( )
mod m , δ|m, δ > 0 ¬a ≡ b
( )
mod m .
Chứng minh
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
7
Từ a ≡ b
( )
mod m ¬m|(a - b), mà δ|m ¬δ|(a - b) ¬a ≡ b(mod δ).
h. Nếu hai số đồng dư với nhau theo nhiều môđun thì chúng đồng dư
với nhau theo môđun là bội chung nhỏ nhất của các môđun ấy:
a ≡ b(mod
i
m ), i =1,..., k ¬a≡ b
( )
mod m với m=BCNN(
1
m ,
2
m ,…,
k
m ).
i. Nếu hai số đồng dư với nhau theo một môđun thì chúng có cùng
UCLN với môđun ấy:
a ≡ b
( )
mod m thì UCLN(a, m) = UCLN(b, m).
§2. Thặng dƣ
2.1. Tập các lớp thặng dƣ
Cho m là số nguyên dương. Theo tính chất của đồng dư thức, quan hệ
đồng dư là quan hệ tương đương trong tập trong tập số nguyên . Ta nói, các
số nguyên avà b cùng thuộc lớp tương đương A nếu chúng đồng dư với
nhau. Như vậy, có thể được phân thành các lớp theo quan hệ tương đương.
Nói cách khác, tồn tại tập thương trên quan hệ tương đương. Ta có
Định nghĩa
Tập thương của tập hợp số nguyên trên quan hệ đồng dư theo môđun
m được gọi là tập hợp các lớp thặng dư môđun m, kí hiệu là
m
.
Mỗi phần tử A của
m
được gọi là một lớp thặng dư môđun m.
Từ định nghĩa, hai lớp thặng dư môđun m hoặc bằng nhau hoặc không
giao nhau và
m
là hợp của tất cả các lớp thặng dư môđun m rời nhau.
Giả sử
m
Ae và a A e , Khi ấy ( ) { }
: mod A x x a m = e ÷ .
Phần tử a được gọi là đại diện của lớp thặng dư A và cũng được gọi là
một thặng dư môđun m.
Nhiều khi ta cũng viết ( ) { }
: mod A a x x a m = = e ÷ để thể hiện a là
đại diện cho lớp thặng dư A a = .
2.2. Các tính chất của lớp thặng dƣ
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
8
Tính chất 1
Tập
m
có m phần tử.
Chứng minh
Xét các lớp thặng dư môđun m: 0, 1, ..., 1 m÷ . Ta sẽ chứng minh
chúng gồm: m lớp phân biệt của
m
và mỗi lớp x

của
m
phải trùng với một
trong m lớp đã nêu, do đó
m
=
{ }
0, 1, ..., 1 m÷ .
Thật vậy, với i j =
( )
0 , 1 i j m s s ÷ thì 0 1 i j m < ÷ s ÷ nên i j ÷ 0 ÷ ,
nghĩa là
( ) mod i j m ÷
/
hay
( ) mod i j m ÷
/
. Như vậy 0, 1, ..., 1 m÷ là m lớp
thặng dư phân biệt, chúng tạo nên một tập con X gồm m phần tử của
m
.
Giả sử
m
x e và x mq i = + , , i qe , 0 1 i m s s ÷ thì
( )
mod x i m ÷
nên x i = ∈
{ }
0, 1, ..., 1 m X ÷ = . Vậy
m
= X =
{ }
0, 1, ..., 1 m÷ có m phần tử.
Tính chất 2
Mỗi lớp phần tử của
m
là tập hợp của k phần tử phân biệt của
km
,
k > 1.
Chứng minh
Giả sử
m
A a = e . Ta sẽ chứng minh A là hợp của k phần tử (k > 1)
đôi một không giao nhau của
km
xác định như sau:
( )
0
mod A a km ÷ ,
1
A = + a m
( )
mod km , ...,
1 k
A
÷
=
( ) ( )
1 mod a k m km + ÷ .
Trước hết, với i ≠ j, (0 ≤ i, j ≤ k-1) ta có 0 < ( ) ( ) + ÷ ÷ < a im a jm km
nên a + im÷
/
a + jm
( )
mod km . Suy ra
i j
A A = . Do đó
i j
A A · = .
Ta có A =
1
0
÷
=
k
i
i
A .
Thật vậy, giả sử ( )
mod x A a m e = . Ta có
( )
mod x a m ÷ nên x a mt = + , t e .
Chia t cho k, giả sử t = kq + i (q,i Z e ,0 1 i k s s ÷ ). Ta có:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
9
( )( )
mod x a mi mqk a mi km = + + ÷ + nên
1
0
k
i i
i
x a im A A
÷
=
e + = e .
Ngược lại, giả sử
1
0
÷
=
e
k
i
i
x A . Khi ấy tồn tại số nguyên i (0 ≤ i ≤ k - 1) sao
cho e
i
x A , tức là
( )
mod x a mi km ÷ + nên x ≡ (a + mi)
( )
modm . Do đó
x ≡ a
( )
modm , tức là x eA. Vậy
1
0
k
i
i
A A
÷
=
= và ta có điều phải chứng minh.
2.3. Tập các lớp thặng dƣ nguyên tố với môđun
Nhận xét
Tất cả các thặng dư của cùng một lớp thặng dư có cùng ước chung lớn
nhất với môđun.
Thật vậy, giả sử
m
Ae và a, beA. Khi ấy a ≡ b
( )
modm nên theo tính
chất i. của đồng dư thức ta có UCLN(a, m) = UCLN (b, m). Từ đây ta có
Định nghĩa
Ước chung lớn nhất của một lớp với môđun m là ước chung lớn nhất
của một thặng dư tùy ý của lớp đó với môđun m.
Với A = a ( )
modm , ta đặt UCLN (A, m) = d nếu UCLN (a, m) = d.
Khi d =1 ta nói lớp thặng dư A là lớp nguyên tố với môđun m.
Tập hợp các lớp
m
nguyên tố với môđun được kí hiệu bởi
*
m
. Ta có:

*
m
= ( ) }
{
, 1
m
A UCLN A m e = = ( ) }
{
, 1,
m
A UCLN a m a A e = e .
Số các phần tử của tập
*
m
được kí hiệu là ( ) m ¢ .

m
=
{ }
0, 1, ..., 1 m÷ nên
*
m
= ( ) }
{
0 1, , 1
m
a a m UCLN a m e s s ÷ = .
Vậy ( ) m ¢ chính là số các số tự nhiên không vượt quá 1 m÷ và nguyên
tố cùng nhau với m.
2.4. Vành các lớp thặng dƣ
Phép toán trong
m

www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
10
Trong
m
, ta định nghĩa phép cộng và phép nhân như sau:
Giả sử , a b e
m
, ta đặt a b a b + = + và . = a b ab.
Dễ kiểm tra được các phép toán trên là hoàn toàn xác định.
Định lý
Tập hợp
m
các lớp thặng dư môđun m cùng với phép cộng và phép
nhân xác định theo qui tắc trên là một vành giao hoán.
Phần tử khả nghịch
Lớp thặng dư A môđun m là phần tử khả nghịch của vành
m
khi và chỉ
khi A là lớp nguyên tố với môđun m.
Chứng minh
Giả sử A a = là khả nghịch, khi ấy tồn tại Be
m
sao cho
( ) . 1 mod AB E m = = , tức là a.b÷1
( )
modm . Nếu A là lớp không nguyên tố
với môđun m, tức là
( )
, 1 a m = thì tồn tại các số 1 q = ,
1 1
, a m nguyên sao cho
1
a qa = và
1
m qm = . Khi ấy
1
ab qa b = và
( )
, 1 ab m q = = . Vô lý. Vậy (A, m) =
(a, m) = 1.
Ngược lại, giả sử (A, m) = 1 và A = a , tức là (a, m) = 1.
Không giảm tổng quát, có thể coi 0 1 a m < < ÷ .
Tập ( ) { }
0, , 2 ,..., 1 a a m a ÷ chứa phần tử ab sao cho ab ÷1
( )
modm .
Thật vậy, nếu với mọi 0 b m s < ta có
( )
1 mod ab m ÷
/
thì theo nguyên
lý Dirichlet phải có hai phần tử
1
ab và
2
ab (
1 2
0 b b m s = < ) cùng có số dư khi
chia cho m, nghĩa là
( )
1 2 1 2
ab ab a b b km ÷ = ÷ = . Nhưng
1 2
0 b b m < ÷ < nên
( )
, 1 a m = , vô lý. Nghĩa là tồn tại 0 b m < < sao cho ab ÷1
( )
modm .
Đặt B = b, ta có . 1 = = ab a b hay AB = E, nghĩa là A khả nghịch.
Tính chất của phần tử khả nghịch
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
11
Giả sử A, B là những lớp thặng dư của vành
m
và A khả nghịch. Khi
X chạy qua tất cả các lớp thặng dư của vành
m
thì AX B + cũng chạy qua tất
cả các phần tử của
m
và AX cũng chạy qua tất cả các phần tử khả nghịch của
m
, tức là:
m
=
{ }
m
AX B X + e và
{ }
* *
m m
AX X = e .
Kí hiệu ( ) m ¢ là số các phần tử khả nghịch của vành
m
các lớp thặng
dư môđun m, hay ( ) m ¢ = card(
*
m
).
Ta biết rằng
m
=
{ }
0, 1, 2, ..., 1 m÷ , từ đó ta có

*
m
=
{ }
0 1, ( , ) 1
m
n n m n m e s s ÷ = .
Như vậy ta được
*
0 1
( , ) 1
( ) card( ) 1
m
n m
n m
m ¢
s s ÷
=
= =
¿
, nghĩa là ( ) m ¢ là hàm số
biểu thị các số tự nhiên không lớn hơn 1 m÷ và nguyên tố cùng nhau với m.
Ta cũng có thể viết
m
=
{ }
1, 2,..., m , khi ấy

*
m
=
{ }
1 , ( , ) 1
m
n n m n m e s s = .
Như vậy ta được
*
1
( , ) 1
( ) card( ) 1
m
n m
n m
m Z ¢
s s
=
= =
¿
, nghĩa là ( ) m ¢ là hàm số
biểu thị các số tự nhiên khác không, không lớn hơn m và nguyên tố với m.
Hệ quả
(1) 1 = ¢ và nếu p là số nguyên tố thì ta có thì ta có ( ) 1 = ÷ m p ¢ .
§3. Hệ thặng dƣ đầy đủ - Hệ thặng dƣ thu gọn
3.1. Hệ thặng dƣ đầy đủ
Cho m là một số nguyên dương. Tập H gồm nhũng số nguyên lấy ra ở
mỗi lớp thặng dư của
m
một và chỉ một số được gọi là một hệ thặng dư đầy
đủ môđun m.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
12
Như vậy: Tập hợp H gồm những số nguyên là một hệ thặng dư đầy đủ
môđun m khi và chỉ khi:
- Các phần tử của H đôi một không đồng dư với nhau theo môđun m.
- Mỗi số nguyên đều đồng dư theo môđun m với một số nào đó thuộc H.
Mỗi một số nguyên của H được gọi là một thặng dư.
Ví dụ với m = 8 ta có:
{ }
8
0, 1, 2, 3, 4, 5, 6, 7 Z = là một hệ thặng dư đầy
đủ môđun 8, nó được gọi là hệ thặng dư đầy đủ không âm nhỏ nhất. Còn hệ
{ }
3, 2, 1, 0, 1, 2, 3 ÷ ÷ ÷ là một hệ thặng dư môđun 8, hệ này được gọi là hệ
thặng dư đầy đủ giá trị tuyệt đối nhỏ nhất.
Tổng quát
+) H ={0, 1, ....., m - 1} là một hệ thặng dư đầy đủ môđun m và nó là hệ
thặng dư đầy đủ không âm nhỏ nhất.
+) Với m là một số lẻ, ta có
H=
1 1 1
; 1; ...;
2 2 2
m m m ÷ ÷ ÷
¦ ¹
÷ ÷ +
´ `
¹ )

là một hệ thặng dư đầy đủ môđun m được gọi là hệ thặng dư đầy đủ giá trị
tuyệt đối nhỏ nhất.
+) Với m là một số chẵn, ta có
H = ; 1; ...;
2 2 2
m m m
¦ ¹
÷ ÷ +
´ `
¹ )
hay H = 1; 2; ...;
2 2 2
m m m
¦ ¹
÷ + ÷ +
´ `
¹ )

là hệ thặng dư đầy đủ giá trị tuyệt đối nhỏ nhất.
Tính chất 1
Mỗi hệ thặng dư đầy đủ môđum m đều gồm m phần tử.
Chứng minh
Hiển nhiên vì tập
m
có m phần tử.
Tính chất 2
Mỗi hệ gồm m số nguyên đôi một không đồng dư với nhau theo môđun
m đều là một hệ thặng dư đầy đủ môđun m.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
13
Chứng minh
Giả sử
{ }
1 2
, ,...,
n
H a a a = là một hệ gồm m số nguyên đôi một không
đồng dư với nhau theo môđun m. Khi ấy tập các lớp thặng dư theo môđun m
{ }
1 2
, ,...,
m
a a a gồm m phần tử đôi một phân biệt và là tập con của
m
. Nhưng

m
có m phần tử và tập con
{ }
1 2
, ,...,
n
a a a cũng có m phần tử đôi một phân
biệt nên ta có
{ }
1 2
, ,...,
n
a a a
m
= .
Từ
m
{ }
1 2
, ,...,
n
a a a = ta được
{ }
1 2
, ,...,
n
H a a a = là một hệ thặng dư đầy đủ
môđun m.
Tính chất 3
Giả sử a là một số nguyên tố với m và b là một số nguyên tùy ý. Khi
ấy xét x chạy qua một hệ thặng dư đầy đủ môđun m thì ax b ± cũng chạy qua
một hệ thặng dư đầy đủ môđun m.
Chứng minh
Giả sử x chạy qua một hệ thặng dư môđun m là
{ }
1 2
, ,...,
m
x x x . Ta chứng
minh
{ }
1 2
, ,...,
m
ax b ax b ax b + + + cũng là một hệ thặng dư đầy đủ môđun m.
Theo Tính chất 2 ở trên ta chỉ cần chứng minh rằng với 1 i j m s = s
thì
i
ax b + ÷
/ ( )( ) mod
j
ax b m + . Thật vậy, nếu
i j
ax b ax b + ÷ +
( )
modm thì
( ) mod
i j
ax ax m ÷ . Vì a nguyên tố với m nên
i j
x x ÷
( )
modm . Vô lý vì
i
x và
j
x là 2 thặng dư khác nhau của một hệ thặng dư đầy đủ môđun m.
Vậy { }
1 2
, ,...,
m
ax b ax b ax b + + + cũng là một hệ thặng dư đầy đủ
môđun m.
3.2. Hệ thặng dƣ thu gọn
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
14
Cho m là một số nguyên dương. Tập hợp K gồm những số nguyên được
lấy ra ở mỗi lớp nguyên tố với môđun m một và chỉ một số được gọi là một hệ
thặng dư thu gọn môđun m.
Vậy một tập hợp K gồm những số nguyên được gọi là một hệ thặng dư
thu gọn môđun m nếu và chỉ nếu:
- Các phần tử thuộc K đôi một không đồng dư với nhau theo môđun m.
- Các phần tử thuộc K nguyên tố với môđun m.
- Mỗi số nguyên tùy ý nguyên tố với môđun m đều đồng dư với một số
nào đó thuộc K.
Nhận xét
Mỗi hệ thặng dư đầy đủ đều chứa duy nhất một hệ thặng dư thu gọn.
Hệ thặng dư thu gọn không âm nhỏ nhất
( )
{ }
1 2
, , ...,
m
r r r
¢
là hệ thặng dư
thu gọn gồm các phần tử
( ) 0 , 1, 2,...,
i
r m i m ¢ < < = nguyên tố cùng nhau với m.
Ta có khái niệm hệ thặng dư thu gọn môđun m có trị tuyệt đối nhỏ nhất.
Ví dụ
Khi m = 8 ta có
{ }
1, 3, 5,7 là một hệ thặng dư thu gọn không âm nhỏ nhất.
Hệ
{ }
3, , 1, 0, 1, 3 ÷ ÷ là một hệ thặng dư thu gọn giá trị tuyệt đối nhỏ nhất.
Nếu m p = là một số nguyên tố thì
{ }
1, 2, ..., 1 p ÷ là hệ thặng dư thu
gọn không âm nhỏ nhất và nếu 2 p > thì
1 1
, ..., 2, 1, 0, 1, 2, ...,
2 2
p p ÷ ÷
¦ ¹
÷ ÷ ÷
´ `
¹ )

là hệ thặng dư thu gọn giá trị tuyệt đối nhỏ nhất.
Tính chất của hệ thặng dƣ thu gọn
Tính chất 1
Mỗi hệ thặng dư thu gọn môđun m gồm φ(m) phần tử.
Chứng minh
Hiển nhiên vì tập hợp
*
m
có φ(m) phần tử.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
15
Tính chất 2
Mỗi hệ gồm
( )
m ¢ số nguyên tố với m và đôi một không đồng dư với
nhau theo môđun m đều lập nên một hệ thặng dư thu gọn môđun m.
Chứng minh
Giả sử
( )
{ }
1 2
, ,...,
m
K a a a
¢
= là một hệ gồm
( )
m ¢ số nguyên nguyên tố
với m và đôi một không đồng dư với nhau theo môđun m.

( ) 1 2
, ,...,
m
a a a
¢
nguyên tố với m nên ta có tập hợp
( )
{ }
1 2
, ,...,
m
a a a
¢
các
lớp theo môđun m

là một tập con của
*
m
gồm
( )
m ¢ phần tử, nghĩa là có số
phần tử bằng số phần tử của
*
m
, do đó ta có
( )
{ }
1 2
, ,...,
m
a a a
¢
=
*
m
Z .
Từ
*
m
=
( )
{ }
1 2
, ,...,
m
a a a
¢
ta được
( )
{ }
1 2
, ,...,
m
K a a a
¢
= là một hệ thặng
dư thu gọn môđum m.
Tính chất 3
Giả sử a là một số nguyên tố với m. Khi ấy nếu x chạy qua một hệ
thặng dư thu gọn môđun m thì ax cũng chạy qua một hệ thặng dư thu gọn
môđun m.
Chứng minh
Giả sử x chạy qua hệ thặng dư thu gọn
( )
{ }
1 2
, ,...,
m
x x x
¢
môđun m. Khi
ấy
( )
{ }
1 2
, ,...,
m
ax ax ax
¢
cũng là một hệ thặng dư thu gọn môđun m.
Thật vậy,
( )
{ }
1 2
, ,...,
m
ax ax ax
¢
là một hệ gồm ¢ (m) số nguyên nguyên tố
với m vì UCLN(a, m) = 1 và UCLN( ) ,
i
x m = 1, (i = 1, 2, ..., φ(m)). Theo tính
chất 2 ở trên, ta chỉ cần chứng minh rằng với
( )
, 1 , i j i j m ¢ = s s thì
÷
/
i j
ax ax (mod m). Giả sử ngược lại, ÷
i j
ax ax (mod m). Do UCLN
( )
, 1 a m = ta
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
16

i j
x x ÷ (mod m),
( )
1 , i j m ¢ s s . Điều này mâu thuẫn với giả thiết với ,
i j
x x
là hai thặng dư khác nhau của một hệ thặng dư thu gọn.
Vậy
( )
{ }
1 2
, ,...,
m
ax ax ax
¢
cũng là một hệ thặng dư thu gọn môđun m.
3.3. Các định lí quan trọng
Định lý Euler
Giả sử m là một số tự nhiên lớn hơn 1 và a là một số nguyên tố cùng
nhau với m. Khi ấy ta có
( )
( ) 1 mod
m
a m
¢
÷ .
Chứng minh
Ta cho x chạy qua hệ thặng dư thu gọn môđun m không âm nhỏ nhất
( )
{ }
1 2
, , ...,
m
r r r
¢
. Khi ấy theo tính chất 3, tập hợp
( )
{ }
1 2
, , ...,
m
ar ar ar
¢
cũng là
một hệ thặng dư thu gọn môđun m.
Giả sử
( ) 1 2
, , ...,
m
s s s
¢
là các thặng dư không âm nhỏ nhất tương ứng
cùng lớp với
( ) 1 2
, , ...,
m
ar ar ar
¢
, tức là
( ) 0 , 1
i
s m i m ¢ < < s s và
1 1
÷ ar s (mod m);
2 2
÷ ar s (mod m); …;
( ) ( )
( )
mod
m m
ar s m
¢ ¢
÷ . (3.1)
Khi ấy
( )
{ }
1 2
, , ...,
m
s s s
¢
cũng là hệ thặng dư thu gọn môđun m không âm
nhỏ nhất.

( )
{ }
1 2
, , ...,
m
r r r
¢

( )
{ }
1 2
, , ...,
m
s s s
¢
cùng là hệ thặng dư thu gọn
môđun m không âm nhỏ nhất nên ta có
( ) ( ) 1 2 1 2
... ...
m m
rr r s s s
¢ ¢
= .
Nhân vế với vế
( )
m ¢ đồng dư thức (3.1) ta được

( )
( ) ( )
( )
1 2 1 2
... ... mod
m
m m
a rr r s s s m
¢
¢ ¢
÷ .
Vì ( ) , 1 =
i
r m , (i = 1, 2, ..., φ(m)), nên
( )
( ) 1 mod
m
a m
¢
÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
17
Định lý Euler được chứng minh.
Định lý Fermat
Cho p là một số nguyên tố và a là một số nguyên không chia hết cho p.
Khi ấy ta có:
( )
1
1 mod
÷
÷
p
a p .
Chứng minh
Theo giả thiết ta có φ(p) = 1 p ÷ và (a, p) = 1.
Theo định lý Euler ta có:
( )
1
1 mod
÷
÷
p
a p .
Định lý (Dạng khác của định lý Fermat)
Cho p là một số nguyên tố và a là một số tùy ý. Khi ấy ta có

( ) mod
p
a a p ÷ .
Chứng minh
Nếu a là một số nguyên chia hết cho p thì hiển nhiên
( ) mod
p
a a p ÷ .
Nếu a không chia hết cho p thì
( )
1
1 mod
÷
÷
p
a p . Do
( ) mod a a p ÷ nên nhân
hai đồng dư thức ta được
( ) mod
p
a a p ÷ . Định lý được chứng minh.
§4. Phƣơng trình đồng dƣ
4.1. Các khái niệm chung
Kí hiệu
| |
x là tập các đa thức một biến với các hệ số nguyên.
Giả sử
( )
g x và h(x) là nhũng đa thức một biến x với các hệ số nguyên
và m là một số tự nhiên lớn hơn 1.
Các phương trình chứa biến (ẩn) x dạng

( ) ( )(mod ) g x h x m ÷
hay
f(x) ( ) ( ) ( )
– (mod ) g x h x m ÷ (4.1)
được gọi là phương trình đồng dư một ẩn.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
18
Nhận xét rằng, ở đây, phương trình (4.1) chỉ là một trường hợp riêng
của phương trình đồng dư nhiều ẩn
1 2
( , ,..., )
n
f x x x với
1 2
( , ,..., )
n
f x x x là một
đa thức nhiều biến với hệ số nguyên.
Sau đây ta sẽ nghiên cứu phương trình đồng dư một ẩn.
Phƣơng trình đồng dƣ tƣơng đƣơng
Cho f(x)
| |
x e . Nếu với
0
x x = e ta có f(
0
x ) ÷0(mod ) m thì ta nói
0
x
nghiệm đúng phương trình f(x) ÷0(mod ) m .
Giải một phương trình đồng dư là tìm tập hợp các giá trị nghiệm đúng
phương trình đồng dư đó.
Giả sử g(x), f(x)
| |
x e . Hai phương trình đồng dư
g(x) ÷0(mod
1
m )
f(x) ÷0(mod
2
m )
tương đương với nhau nếu như tập hợp các giá trị nghiệm đúng phương trình
này bằng tập hợp các giá trị nghiệm đúng phương trình kia.
Khi ấy ta viết: g(x) ÷0(mod
1
m ) ·f(x) ÷0(mod
2
m ).
Định nghĩa
Phép biến đổi một phương trình đồng dư thành một phương trình đồng
dư khác tương đương với nó được gọi là phép biến đổi tương đương.
Hiển nhiên hai phương trình đồng dư cùng tương đương với phương
trình đồng dư thứ ba thì tương đương với nhau.
Các phép biến đổi tƣơng đƣơng thƣờng gặp
a) Cộng hay trừ hai vế của một phương trình đồng dư cùng với một đa
thức có hệ số là những số nguyên thì được một phương trình mới tương đương.
b) Nếu ta thêm hay bớt ở một vế của một phương trình đồng dư theo
môđun m một bội của môđun m thì ta được một phương trình mới tương đương
c) Xét phương trình đồng dư
( ) 0(mod ) f x m ÷
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
19
với
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a ,
i
a e , i = 0, 1, …, n.
Nếu ta nhân các hệ số của f(x) với một số nguyên, nguyên tố với môđun
m thì ta được một phương trình mới tương đương.
Nếu ta chia các hệ số của f(x) cho cùng một ước chung nguyên tố với
môđun m thì ta được một phương trình mới tương đương.
Nếu ta nhân các hệ số của f(x) và môđun m với cùng một số nguyên
dương thì ta được một phương trình mới tương đương.
Chia các hệ số của f(x) và môđun m với cùng một ước chung dương của
chúng thì được một phương trình mới tương đương với phương trình đã cho.
Bậc của phƣơng trình đồng dƣ
Xét phương trình đồng dư
f(x) ÷0(mod ) m (4.2)
với
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a ,
i
a e , i = 0, 1, …, n.
Nếu
0
0(mod ) a m ÷
/
thì ta nói n là bậc của phương trình đồng dư (4.2).
Ví dụ
Cho phương trình:
6 4 2
15 8 6 8 0(mod 3) x x x x ÷ + + + ÷
Ta thấy
( ) 15 0 mod 3 ÷ nên bậc của phương trình không phải là bậc 6.
Phương trình trên tương đương với phương trình
4 2
8 2 0(mod 3) x x ÷ + + ÷ .

( ) 8 0 mod 3 ÷ ÷
/
nên bậc của phương trình là 4 n = .
Chú ý
- Trong phương trình (4.2) ta có thể giả thiết
0
a không chia hết cho m.
Thật vậy, nếu
0
0(mod ) a m ÷ thì ta có thể bỏ số hạng
0
n
a x ở phương
trình (4.2), ta vẫn được một phương trình tương đương với phương trình (4.2).
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
20
- Trong phương trình (4.2) ta có thể đưa các hệ số
0 1
, ,...,
n
a a a về các số
nguyên không âm nhỏ thua m.
Thật vậy, với
0
a chẳng hạn, ta chia
0
a cho m ta được:
0 0
a mq a' = + ,
0
, q a' e ,
0
0 a m ' s s . Khi ấy, phương trình (4.2) tương đương với phương
trình
1
0 1
... 0(mod )
n n
n
a x a x a m
÷
' + + + ÷ ,
0
0 a m ' s s .
Nghiệm của phƣơng trình đồng dƣ
Tập các giá trị nghiệm đúng của phương trình f(x) ÷0(mod ) m thường
được phân chia thành những lớp theo môđun m và được gọi là những nghiệm
của phương trình đó.
Định lý
Nếu x o = là nghiệm đúng phương trình (4.2) thì mọi số nguyên thuộc
lớp thặng dư o (mod ) m đều nghiệm đúng phương trình (4.2).
Chứng minh
Thật vậy, theo giả thiết ta có f(o ) ÷0(mod ) m . Giả sử | o e (mod ) m ,
nghĩa là (mod ) m | o ÷ . Theo tính chất của đồng dư thức ta được
( ) f | ÷ ( ) f o (mod ) m . Suy ra | cũng là nghiệm của phương trình (4.2).
Định nghĩa
Khi số nguyên o nghiệm đúng phương trình (4.2) thì ta gọi lớp thặng
dư o (mod ) m là một nghiệm của phương trình (4.2).
Khi o (mod ) m là một nghiệm của phương trình (4.2) thì ta cũng viết
x ÷o (mod ) m và gọi x là một nghiệm của phương trình (4.2).
Hệ quả
Số nghiệm của một phương trình đồng dư theo môđun m không vượt
quá m. Do đó để giải phương trình đồng dư ta lần lượt cho x lấy các giá trị
trong một hệ thặng dư đầy đủ và tìm các giá trị nghiệm đúng phương trình đó.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
21
Ví dụ
Giải phương trình
3
2 4 0(mod 5) x + ÷ .
Cho x nhận lần lượt các giá trị hệ thặng dư đầy đủ
{ }
5
0,1, 2,3, 4 = , ta thấy:
2 x =
3
2 4(mod 5) x ¬ ÷ ÷ .
Vậy 2 x = là nghiệm duy nhất của phương trình đã cho.
Hệ phƣơng trình đồng dƣ
Cho hệ phương trình
1 1
2 2
( ) 0(mod )
( ) 0(mod )
....
( ) 0(mod )
÷ ¦
¦
÷
¦
´
¦
¦
÷
¹ r r
f x m
f x m
f x m
(4.3)
Nếu với số nguyên
0
x x = ta có r đồng dư thức ( ) 0(mod )
i i
f x m ÷ đúng
với mọi i = 1, 2, …, r thì ta nói
0
x nghiệm đúng hệ phương trình (4.3).
Giải một hệ phương trình đồng dư là tìm tập hợp các giá trị nghiệm
đúng hệ phương trình đồng dư đó.
Hệ phƣơng trình tƣơng đƣơng
Hai hệ phương trình đồng dư
( ) 0(mod ) ÷
i i
f x m , i = 1, 2, …, r;
( ) 0(mod ) ÷
i i
g x n , j = 1, 2, …, s
được gọi là tương đương nếu tập hợp các giá trị nghiệm đúng hệ phương
trình này trùng với tập hợp các giá trị nghiệm đúng hệ phương trình kia.
Do vậy, nếu trong một hệ ta thay thế một số phương trình nào đó bằng
những phương trình tương đương thì ta sẽ được một hệ mới tương đương với
hệ đã cho. Do đó, việc biến đổi tương đương các hệ phương trình thường đưa
về việc biến đổi tương đương từng phương trình.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
22
Định lý
Cho m là một số tự nhiên có dạng phân tích tiêu chuẩn
1 2
1 2
...
k
k
m p p p
o o o
=
và f(x) là một đa thức với hệ số nguyên. Khi ấy ta có phương trình đồng dư
f(x) ÷ 0(mod m) (4.4)
tương đương với hệ
1
( ) 0(mod )
2
i
i
f x p
o
÷ , i = 1, 2, …, k. (4.5)
Chứng minh
Thật vậy, giả sử
0
x nghiệm đúng phương trình (4.4), nghĩa là

0
( ) 0(mod ) f x m ÷ .
Khi đó vì i = 1, 2, …, k có
i
i
p
o
là ước của m nên ta có
0
( ) 0(mod )
i
i
f x p
o
÷ , nói khác đi
0
x nghiệm đúng hệ (4.5).
Ngược lại, giả sử
1
x nghiệm đúng hệ phương trình (4.5), nghĩa là ta có
đồng dư thức
1
( ) 0(mod )
i
i
f x p
o
÷ , i =1, 2, …, k.
Do
1 2
1 2
...
k
k
m p p p
o o o
= nên ta cũng có đồng dư thức
1
( ) 0(mod )
i
i
f x p
o
÷ ,
tức
1
x cũng nghiệm đúng phương trình (4.4).
Nghiệm của hệ phƣơng trình đồng dƣ
Cho hệ phương trình

1 1
2 2
( ) 0(mod )
( ) 0(mod )
....
( ) 0(mod )
r r
f x m
f x m
f x m
÷
¦
¦
÷
¦
´
¦
¦
÷
¹
(4.6)
với m là bội chung nhỏ nhất của
1 2
, ,...,
r
m m m .
Định lý
Nếu x o = nghiệm đúng hệ phương trình (4.6) thì mọi số nguyên thuộc
lớp o (mod ) m đều nghiệm đúng hệ phương trình đó.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
23
Chứng minh
Theo giả thiết ta có r đồng dư thức
( ) 0(mod )
i i
f x m ÷ , i = 1, 2, …, r. (4.7)
Giả sử | o e (mod ) m nghĩa là (mod ) m | o ÷ , vì vậy do
i
m là ước của
m, i = 1, 2, …, r nên ta có (mod )
i
m | o ÷ .
Theo tính chất của đồng dư thức ta được r đồng dư thức
( ) ( )(mod )
i i i
f f m | o ÷ , i = 1, 2, …, r . (4.8)
Từ đồng dư thức (4.7) và (4.8) ta có ( ) 0(mod )
i i
f m | ÷ , i = 1, 2, …, r,
nghĩa là | nghiệm đúng hệ phương trình (4.6).
Định nghĩa
Khi số nguyên o nghiệm đúng hệ phương trình (4.6) thì ta gọi lớp
thặng dư (mod ) m o là nghiệm của hệ phương trình (4.6).
4.2. Phƣơng trình và hệ phƣơng trình đồng dƣ bậc nhất một ẩn
4.2.1. Phương trình đồng dư bậc nhất một ẩn
(mod ) ax b c m + ÷ , 0 a = (4.8)
Trƣờng hợp 1: 1 a =
Khi 1 a = phương trình (4.8) trở thành
(mod ) x b c m + ÷ · (mod ) x c m b ÷ ÷ ·
( )(mod ) x c b m ÷ ÷
· x c b mt = ÷ + với t là một số nguyên bất kỳ.
Trƣờng hợp 2: 0 b =
Khi 0 b = phương trình (4.8) trở thành
(mod ) ax c m ÷ . (4.9)
Định lý
Phương trình (4.9) có nghiệm khi và chỉ khi ước chung lớn nhất d của a
và m là ước của c. Khi (4.9) có nghiệm thì nó có d nghiệm.
Chứng minh
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
24
Giả sử phương trình (4.9) có nghiệm, nghĩa là có
0
x e sao cho
0
(mod ) ax c m ÷ . Vì d = (a, m) nên d a và d m. Suy ra
0
d ax và d m.
Theo tính chất của đồng dư thức, d phải là một ước số của
( ) ( )
0
UCLN , UCLN , ax m c m = hay d là ước của c .
Ngược lại, giả sử (a,m)=d là ước của c .
Đặt a =
1
a a d = ,
1
, c c d =
1
= m md . Phương trình (4.9) tương đương với
1 1 1
(mod ) a x c m ÷ , (4.10)
trong đó
( )
1
, 1 a m = . Do
( )
1
, 1 a m = nên khi cho x chạy qua một hệ thặng dư đầy
đủ môđun
1
m thì
1
a x cũng chạy qua một hệ thặng dư đầy đủ môđun
1
m .
Do đó tìm được duy nhất một giá trị
0
x sao cho
1
a
0
x cùng lớp với
1
c ,
nghĩa là
1 0 1 1
(mod ) a x c m ÷ .
Vậy phương trình (4.10) có nghiệm duy nhất là lớp
0
x (mod
1
m ). Vì
phương trình (4.10) tương đương với phương trình (4.9) cho nên lớp
0
x (mod
1
m ) cũng là tập hợp các giá trị nghiệm đúng phương trình (4.9). Theo
tính chất 2 §2 của đồng dư thức, lớp
0
x là hợp của d lớp thặng dư môđun m,
đó chính là d nghiệm của phương trình (4.9):
0
(mod ), x m
0 1
(mod ) x m m + ,…,
0 1
( 1) x d m + ÷ (mod m) .
Các phƣơng pháp tìm nghiệm của (mod ) ax c m ÷
Theo Định lý trên, ta chỉ cần tìm nghiệm của phương trình (4.9) với
điều kiện (a, m) = 1 và 1 < a < m.
Phƣơng pháp 1: Xác định nghiệm bằng cách chia cả hai vế cho a
- Nếu a là một ước của c thì nghiệm của phương trình là: (mod )
c
x m
a
÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
25
- Nếu a không phải là một ước số của c thì do (a, m) = 1 nên tồn tại số
nguyên k (1 1 s s ÷ k a ) để c + km chia hết cho a. Thật vậy, giả sử với mọi k
(1 1 s s ÷ k a ), c+km chia hết cho a. Khi ấy theo nguyên lí Dirichlet phải tồn
tại hai số
1 2
0 1 k k a s = s ÷ sao cho
1
c k m + và
2
c k m + chia cho a có cùng số
dư, tức là
( ) ( ) ( )
1 2 1 2
k k m c k m c k m ÷ = + ÷ + chia hết cho a. Nhưng (a, m) = 1
nên
( )
1 2
k k ÷ chia hết cho a. Vô lí vì
1 2
0 k k a < ÷ < .
Như vậy, phải tồn tại số nguyên k (1 1 s s ÷ k a ) để c+km chia hết cho
a. Khi ấy phương trình (4.9) tương đương với phương trình ax÷c+km(modm)
nên nó có nghiệm là (mod )
c km
x m
a
+
÷ .
Ví dụ
Giải phương trình 5x ÷2(mod 7)
Vì UCLN(5,2) 1 = nên tồn tại số 4 k = sao cho 2 .7 k + chia hết cho 5.
Khi ấy 5x ÷2 + 4.7(mod 7) ta được nghiệm là
30
6
5
x ÷ ÷ (mod 7) hay
6 7 x k = + .
Chú ý
Cách xác định nghiệm này là đơn giản nhưng chỉ dùng được trong
trường hợp a là một số nhỏ hoặc trường hợp dễ thấy ngay số k.
Phƣơng pháp 2: Xác định nghiệm bằng cách vận dụng định lí Euler
Vì (a, m) 1 = cho nên theo Định lý Euler ta có
( )
1(mod )
m
a m
¢
÷ .
Từ đây suy ra
( )
(mod )
m
a b b m
¢
÷ hay
( ) 1
(mod )
m
a ba b m
¢ ÷
( ÷
¸ ¸
.
Do (a, m) 1 = nên
( ) 1
(mod )
m
x ba m
¢ ÷
÷ là nghiệm của phương trình.
Trƣờng hợp 3 0 b =
Khi 0 b = thì phương trình (4.8) trở thành
(4.8) · (mod ) ax c m b ÷ ÷ ·
( )(mod ) ax c b m ÷ ÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
26
Trở về phương trình dạng (4.9) xét trong Trường hợp 2.
Quan hệ giữa phƣơng trình đồng dƣ bậc nhất và phƣơng trình
Diophantus bậc nhất hai ẩn ax + by = c
Coi b > 0. Nếu phương trình Diophantus ax + by = c có một nghiệm
nguyên
( )
0 0
, x y , nghĩa là ta có đẳng thức a
0
x +b
0
y = c thì suy ra:
a
0
x ÷c(mod b) và
0
0
c ax
y
b
÷
= .
Đảo lại, nếu có số nguyên
0
x sao cho có đồng dư thức a
0
x ÷c (mod b)
thì
0
c ax ÷ ÷0(mod b), nghĩa là có số nguyên
0
y để
0 0
c ax by ÷ = . Từ đó suy ra
a
0
x + b
0
y = c, tức phương trình đã cho có nghiệm
( )
0 0
, x y .
Vậy điều kiện phương trình Diophantus ax + by c = có nghiệm nguyên
tương đương với điều kiện phương trình đồng dư a x ÷c(mod b) có nghiệm,
tức là ước chung lớn nhất của a và b là một ước của c. Giải phương trình
Diophantus ax+by=c được đưa về giải phương trình đồng dư a x ÷c(mod b).
Ví dụ
Tìm nghiệm nguyên của phương trình 1998 2003 1945 x y + = .
Ta xét phương trình đồng dư
( ) 1998 1945 mod2003 x ÷
( ) 5 1945 mod2003 x ·÷ ÷ ( ) 5 11960 mod2003 x ·÷ ÷
Do (5, 2003) = 1 nên
( ) 389 mod2003 x = ÷ 389 2003 , x t t · = ÷ + e .
Khi ấy ta được:
( ) 1945 1998 389 2003 1945 1998
389 1998
2003 2003
t x
y t
÷ ÷ + ÷
= = = ÷ .
Vậy nghiệm tổng quát của phương trình là
389 2003
389 1998
x t
y t
= ÷ +
¦
´
= ÷
¹
, (t = 0, ± 1,…)
4.2.2. Hệ phương trình đồng dư bậc nhất một ẩn
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
27
Xét hệ phương trình đồng dư bậc nhất một ẩn có dạng
1 1
2 2
(mod )
(mod )
....
(mod )
k k
x b m
x b m
x b m
÷
¦
¦
÷
¦
´
¦
¦
÷
¹
(4.11)
với
1 2
, , ...,
k
m m m là những số nguyên lớn hơn 1 và
1 2
, , ...,
k
b b b là những số
nguyên tùy ý.
Định lý
Nếu hệ phương trình (4.11) có nghiệm thì nó có nghiệm duy nhất.
Chứng minh
Giả sử à v o | nghiệm đúng hệ phương trình (4.11), ta có:
(mod ) à (mod )
i i i i
b m v b m o | ÷ ÷ với mọi i = 1, 2, …, k.
Suy ra (mod )
i
m o | ÷ với mọi i = 1, 2, …, k.
Do đó (mod ) m o | ÷ , trong đó m = BCNN(
1 2
, ,...,
k
m m m ), tức là các
nghiệm (mod ) x m o ÷ à v (mod ) x m | ÷ của hệ phương trình (4.11) là trùng nhau.
Định lý Trung Hoa về thặng dƣ
Nếu các
1 2
, , ...,
k
m m m đôi một nguyên tố cùng nhau thì hệ phương
trình (4.11) có nghiệm.
Chứng minh
Theo giả thiết
1 2
, , ...,
k
m m m đôi một nguyên tố cùng nhau nên bội
chung nhỏ nhất của chúng là
1 2
...
k
m mm m = . Đặt =
i i
m mM với i =1,2,…,k.
Khi đó ta có ( ) , 1
i i
m M = và 0(mod )
i j
M m ÷ nếu = i j .
Vì ước chung nhỏ nhất
( )
, 1 =
i i
m M nên tồn tại số nguyên
i
M' sao cho
1(mod )
i i i
M M m ' ÷ , i = 1, 2, …, k.
Đặt
0 1 1 1 2 2 2
...
k k k
x M M b M M b M M b ' ' ' = + + + .
Vì 0(mod )
j i
M m ÷ và 1(mod )
i i i
M M m ' ÷ với mọi = i j nên
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
28
( )
0
mod
i i
x b m ÷ , i = 1, 2, …, k.
Vậy
0
x thỏa mãn hệ (4.11), hay (4.11) có nghiệm là
( )
0
mod x x m ÷ .
Chú ý
*) Trong trường hợp tổng quát, chúng ta có thể chứng minh được rằng:
Điều kiện cần và đủ để hệ phương trình (4.11) có nghiệm là ước chung lớn
nhất
( )
,
i j
m m chia hết ÷
i j
b b với = i j
( ) 1 , s s i j k .
*) Giả sử
1 2
1 2
... =
k
k
m p p p
o o o
là phân tích tiêu chuẩn của m. Khi ấy phương
trình đồng dư ( ) 0(mod ) f x m ÷ tương đương với hệ phương trình đồng dư
( ) 0 f x ÷ (mod )
i
i
p
o
, i = 1, 2, …, k.
Từ đó suy ra rằng nếu
( )
1
mod
i
i
x b p
o
÷ là một nghiệm của phương trình
( ) 0(mod )
i
i
f x p
o
÷ , i = 1, 2, …, k. thì nghiệm của hệ phương trình đồng dư
( )
1
2
1 1
2 2
mod
(mod )
....
(mod )
k
k k
x b p
x b p
x b p
o
o
o
¦ ÷
¦
÷ ¦
´
¦
¦
÷
¹

cho ta nghiệm của phương trình ( ) 0(mod ) f x m ÷ .
Vậy trong trường hợp tổng quát giải một phương trình đồng dư dẫn đến
giải hệ (4.11). Với các môđun
1 2
, , ...,
k
m m m đôi một nguyên tố cùng nhau.
Thực hành giải hệ phƣơng trình
Trƣờng hợp hệ hai phƣơng trình

( )
( )
1 1
2 2
mod
mod
x b m
x b m
÷ ¦
¦
´
÷
¦
¹

Với giả thiết d = ( )
1 2
, m m chia hết cho
1 2
÷ b b . Trước tiên ta nhận xét
rằng, mọi số
1 1
= + x b mt , t e là nghiệm của phương trình thứ nhất. Sau đó
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
29
ta tìm cách xác định t sao cho x nghiệm đúng phương trình thứ hai, nghĩa là
hệ hai phương trình trên tương đương với hệ phương trình

( )
1 1
1 1 2 2
mod
x b mt
b mt b m
= +
¦
´
+ ÷
¹

Vì giả thiết
( )
1 2
, d m m = là ước
1 2
÷ b b nên phương trình
1 1
+ b mt ( )
2 2
mod b m ÷
tương đương với phương trình:
1 2 1 2
mod
m b b m
t
d d d
÷
| |
÷
|
\ .
.
Nhưng
1 2
, 1
m m
d d
| |
=
|
\ .
nên phương trình đồng dư này cho ta nghiệm
2
0
mod
m
t t
d
| |
÷
|
\ .
, là tập hợp tất cả các số nguyên
2
0
= +
m
t t u
d
, ue .
Thay biểu thức của t vào biểu thức tính x ta được tập hợp các giá trị của
x nghiệm đúng cả hai phương trình đồng dư đang xét là:

2 1 2
1 1 0 1 1 0
| |
= + + = + +
|
\ .
m mm
x b m t u b mt u
d d
,
hay
0
x x = + mu với
0 1 1 0
= + x b mt , m = BCNN(
1 2
, m m ).
Vậy
0
(mod ) x x m ÷ là nghiệm của hệ hai phương trình đồng dư
đang xét.
b. Trƣờng hợp hệ gồm n phƣơng trình
Đầu tiên giải hệ hai phương trình nào đó của hệ đã cho, rồi thay trong
hệ hai phương trình đã giải bằng nghiệm tìm thấy, ta sẽ được một hệ gồm n –
1 phương trình tương đương với với hệ đã cho. Tiếp tục như vậy sau n – 1
bước ta sẽ được nghiệm cần tìm.
Ví dụ
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
30
Giải hệ phương trình
( )
( )
( )
( )
26 mod 36
62 mod 60
92 mod 150
11 mod 231
x
x
x
x
÷ ¦
¦
÷
¦
´
÷
¦
¦
÷
¹

Hệ hai phương trình

( )
( )
26 mod 36
62 mod 60
x
x
÷ ¦
¦
´
÷
¦
¹
·
( )
26 36
26 36 62 mod 60
x t
t
= +
¦
´
+ ÷
¹
, t e .
Phương trình:
( ) 26 36 62 mod 60 t + ÷ · 36 36(mod 60) t ÷ 1(mod 5) t · ÷ .
Vậy nghiệm của hệ là 26 36.1(mod 180) x ÷ + hay 62(mod 180) x ÷ .
Do đó hệ phương trình đã cho tương đương với hệ
( )
( )
( )
62 mod 180
92 mod 150
11 mod 231
x
x
x
÷ ¦
¦
÷
´
¦
÷
¹

Ta tiếp tục giải hệ phương trình

( )
( )
62 mod 180
92 mod 150
x
x
÷ ¦
¦
´
÷
¦
¹
( )
62 180
62 180 92 mod 150
x t
t
= +
¦
·
´
+ ÷
¹
, t e .
Ta có:
( ) 62 180 92 mod150 t + ÷ ( ) 180 30 mod150 t · ÷ .
( ) 6 1 mod 5 t · ÷ ( ) 1 mod 5 t · ÷ .
Vậy nghiệm của hệ là:
( ) 62 180. 1 (mod 900) x ÷ + + 242(mod 900) x · ÷ .
Hệ đã cho tương đương với
( )
242(mod 900)
11 mod 231
x
x
÷
¦
´
÷
¹

Hệ này có nghiệm 242(mod 69300) x ÷ , và đây cũng là nghiệm của hệ
đã cho cần tìm.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
31
Ví dụ
Tìm các số nguyên chia hết cho 5 và khi lần lượt chia cho 2; 3; 4 đều có
số dư là 1.
Giải
Gọi x là số cần tìm. Theo giả thiết ta có hệ phương trình:

0(mod 5)
1(mod 2)
1(mod 3)
1(mod 4)
x
x
x
x
÷
¦
¦
÷
¦
´
÷
¦
¦
÷
¹
0(mod 5)
1(mod 12)
x
x
÷
¦
·
´
÷
¹

Suy ra: 1 + 12t ÷ 0(mod 5) · 2t ÷ - 1 ÷ 4(mod 5) ¬ t ÷ 2(mod5).
Vậy t = 2 + 5k, k Z e và do đó:
( )
1 12 1 2 5 25 60 x t k k = + = + + = + .
4.3. Phƣơng trình đồng dƣ bậc cao theo môđun nguyên tố
4.3.1. Nhận xét
a) Giả sử
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a là một đa thức với hệ số nguyên
và m là số tự nhiên có dạng
1 2
1 2
... =
k
k
m p p p
o o o
. Khi đó phương trình đồng dư
( ) 0(mod ) f x m ÷ tương đương với hệ ( ) 0(mod )
i
i
f x p
o
÷ , i = 1, 2, …, k. Vì
vậy giải phương trình ( ) 0(mod ) f x m ÷ được đưa về giải phương trình dạng
( ) 0(mod ) f x p
o
÷ , với p là số nguyên tố, và o là số tự nhiên khác không.
Nếu một trong các phương trình của hệ ( ) 0(mod )
i
i
f x p
o
÷ , i = 1, 2, …,
k không có nghiệm thì phương trình ( ) 0(mod ) f x m ÷ cũng không có nghiệm.
Còn nếu phương trình ( ) 0(mod ) f x p
o
÷ có
i
s nghiệm (i = 1, 2, …, k) thì
hệ: ( ) 0(mod )
i
i
f x p
o
÷ , i =1, 2,…, và do đó cả phương trình ( ) 0(mod ) f x m ÷ có
1 2
... =
k
s s s s nghiệm.
b) Nếu số nguyên
0
x nghiệm đúng phương trình ( ) 0(mod ) f x p
o
÷ , a
>1 (1) thì
0
x cũng là nghiệm đúng của phương trình ( ) 0(mod ) f x p
|
÷ ,
1, 2,..., 1 | o = ÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
32
Từ đó suy ra rằng khi giải phương trình (1) ta chỉ cần tìm các nghiệm
của nó trong các lớp là nghiệm của phương trình
1
( ) 0(mod ) f x p

÷ .
Đối với phương trình mới này ta lại áp dụng kết quả đó để đưa về
phương trình với môđun
2 ÷
p
o
và cứ thế tiếp tục lên đối với phương trình
( ) 0(mod ) f x p ÷ .
c) Giả sử x =
0
x (mod p) là một nghiệm của phương trình
( ) 0(mod ) f x p ÷ và đạo hàm
0
( ) f x ' không chia hết cho p khi ấy trong lớp
0
x (mod p) gồm
1 ÷
p
o
lớp theo môđun p
o
có đúng một lớp là nghiệm của
phương trình ( ) 0(mod ) f x p
o
÷ .
Qua những nhận xét ở trên, ta thấy rằng vấn đề cơ bản trong việc giải
phương trình đồng dư còn lại là giải phương trình đồng dư theo môđun
nguyên tố p:
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a 0(mod ) p ÷ với a÷
/
0(mod p).
4.3.2. Phương trình bậc cao theo môđun nguyên tố
Định lý
Phương trình đồng dư theo môđun nguyên tố
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a 0(mod ) p ÷ (4.13)
với 1 n > ,
0
0(mod ) a p ÷
/
, hoặc nghiệm đúng với mọi số nguyên hoặc tương
đương với một phương trình có bậc nhỏ hơn p.
Chứng minh
Thực hiện phép chia f(x) cho ÷
p
x x ta được f(x) = ( ÷
p
x x)g(x)+ r(x),
trong đó g(x), r(x) là những đa thức với hệ số nguyên, r(x) hoặc bằng không
hoặc có bậc nhỏ hơn p. Phương trình (4.13) trở thành
( ÷
p
x x)g(x) + r(x) 0(mod ) p ÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
33
Với mọi xe ta đều có ÷
p
x x 0(mod ) p ÷ nên phương trình (4.13)
tương đương với phương trình r(x) 0(mod ) p ÷ , ở đó hoặc r(x) =0 hoặc có bậc
nhỏ hơn p. Đó là điều cần chứng minh.
Chú ý
Theo định lý trên, trong phương trình (4.13) ta có thể giả thiết n p < .
Hơn nữa ta còn có thể giả thiết
0
1 = a . Thật vậy, vì UCLN(
0
a , p)=1 nên tồn
tại số nguyên a sao cho
0
a a 1(mod ) p ÷ và UCLN(a, p) = 1. Do đó khi nhân
hai vế của phương trình (4.13) với a ta được một phương trình tương đương
với phương trình (4.13) mà hệ số
n
x bằng 1.
Định lý
Phương trình đồng dư theo môđun nguyên tố
1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a 0(mod ) p ÷ (4.14)
với n >1,
0
0(mod ) a p ÷
/
, có không quá n nghiệm.
Chứng minh
Giả sử ngược lại rằng phương trình (4.14) có ít nhất n+1 nghiệm khác
nhau là x
0 1
, ,..., (mod )
n
x x x p ÷ .
Chia đa thức f(x) cho đa thức
1
x x ÷ được f(x)=(
1
x x ÷ )
1 1
( ) + f x r , trong
đó là đa thức bậc n–1 với hệ số nguyên, với hệ số của
1 ÷ n
x là
0
a và
( ) ( )
1 1
0 mod r f x p = ÷ . Do đó phương trình (4.14) tương đương với
(
1
x x ÷ )
( )
1
( ) 0 mod ÷ f x p . (4.15)
Từ giả thiết
2
x là nghiệm đúng phương trình (4.14) ta có đồng dư thức
( ) ( ) ( )
2 1 1 2
0 mod x x f x p ÷ ÷ .
Nhưng ( )
2 1
0 mod x x p ÷ ÷
/
và p là số nguyên tố nên từ đồng dư thức
trên ta suy ra ( ) ( )
1 2
0 mod f x p ÷ . Chia đa thức
1
( ) f x cho đa thức
2
x x ÷ , giả
sử ta được
1
f (x) = (x -
2
x )
2 2
( ) + f x r , trong đó
2
( ) f x là đa thức bậc n – 2 với
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
34
hệ số nguyên, với hệ số của
2 ÷ n
x là
0
a và
( ) ( )
2 1 2
0 mod r f x p = ÷ . Từ đây vì
( )
2
0 mod r p ÷ phương trình (4.14) và do đó cả phương trình (4.13) cũng
tương đương với phương trình:
(x -
1
x )( x -
2
x )
( )
2
( ) 0 mod f x p ÷ .
Cứ tiếp tục quá trình trên như vậy sau n bước ta được phương trình
(x -
1
x )( x -
2
x )…(x -
n
x )
( ) ( ) 0 mod
n
f x p ÷
tương đương với phương trình (4.14). Nhưng ( )
n
f x là đa thức bậc không mà
hệ số của số hạng bậc cao nhất là
0
a nên ( )
n
f x =
0
a và vì vậy phương trình
(4.14) tương đương với phương trình
0
a (x -
1
x )( x -
2
x )…(x -
n
x )
( ) 0 mod p ÷ . (4.16)
Theo giả thiết x
( )
0
mod x p ÷ là nghiệm của phương trình nên nó cũng
là nghiệm của phương trình (4.16), nghĩa là ta có đồng dư thức:

0
a (x -
1
x )( x -
2
x )…(x -
n
x )
( ) 0 mod p ÷ .
Từ đồng dư thức này với
0
0(mod ),
i
x x p i ÷ ÷ ¬ =
/
1, 2, …, n và p là số
nguyên tố suy ra
( )
0
0 mod a p ÷ , điều này mâu thuẫn với giả thiết.
Hệ quả
Nếu phương trình

1
0 1
( ) ...
÷
= + + +
n n
n
f x a x a x a 0(mod ) p ÷ (4.17)
với n < p và p là một số nguyên tố có quá n nghiệm thì các hệ số của nó đều
là bội của p.
Chứng minh
Thật vậy, từ giả thiết lặp lại cách chứng minh định lý trên ta có
( )
0
0 mod a p ÷ nên phương trình tương đương với

1 1
1 1
...
÷ ÷
+ + +
n n
n
a x a x a 0(mod ) p ÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
35
Phương trình này có nhiều hơn n – 1 nghiệm, lại bằng cách lập luận
tương tự như trên ta sẽ có
( )
1
0 mod a p ÷ .
Cứ tiếp tục như vậy, cuối cùng ta được tất cả các hệ số
0 1
, ,...,
n
a a a đều
là bội của p.
Định lí Wilson
Với số nguyên tố p, ta có
( ) ( ) 1 ! 1 0 mod p p ÷ + ÷ .
Chứng minh
Định lí hiển nhiên đúng với p = 2, vì vậy để chứng minh ta giả thiết
p > 2.
Xét phương trình đồng dư

( )( ) ( ) ( )
1
1 2 ... 1 ( 1) 0 mod
p
x x x p x p
÷
÷ ÷ ÷ + ÷ ÷ ÷ .
Phương trình có không ít hơn p – 1 nghiệm đôi một phân biệt và vế trái
của nó là một đa thức bậc nhỏ hơn p – 1 vì vậy theo hệ quả trên thì tất cả các
hệ số của đa thức đều là bội của p và riêng hệ số tự do cũng là bội của p. Hệ
số tự do đó là: ( )( ) ( ) ( ) ( ) 1 2 ... 1 1 1 ! 1 ÷ ÷ ÷ ÷ + = ÷ + p p .
Vì vậy ta có
( ) ( ) 1 ! 1 0 mod p p ÷ + ÷ .
Chú ý
Định lý Wilson cho ta điều kiện cần để một số tự nhiên p > 1 là một số
nguyên tố, song điều kiện đó cũng là điều kiện đủ.
Thật vậy, nếu
1
p p q = , 1 < q < p thì ( ) ( ) 1 ! 0 mod p q ÷ ÷ bởi vậy
( ) 1 ! ÷ p
( ) 1 0 modq + ÷
/
nhưng vì p 0(mod ) q ÷ nên từ
( ) 1 ! ÷ p ( ) 1 0 mod q + ÷
/

cũng có ( ) ( ) 1 ! 1 0 mod p p ÷ + ÷
/
.
Hay nếu ( ) 1 ! ÷ p + 1 0 ÷
/ ( ) mod p thì số tự nhiên p > 1 là một số
nguyên tố.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
36
Chƣơng 2
ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƢ
TRONG MÃ SỬA SAI
§1. Khái niệm mã
Phần lớn các sản phẩm mà ta mua trong siêu thị đều có mã vạch
(barcode), giống như Hình 1.1 dưới đây. Các vạch này được đọc tại các bàn
thu ngân bởi hệ thống quét laze để chuyển đổi những vạch mầu đen và trắng
với độ dày đậm khác nhau thành những con số được in bên dưới. Mỗi sản
phẩm khi ấy được xác định bởi một chuỗi những con số, được gọi là từ mã
(codeword).

Hình 1.1. Mã vạch Hình 1.2. ISBN
Ở bìa sau hầu hết các quyển sách ta cũng tìm thấy các mã vạch khác
nhau, thí dụ như trong Hình 1.2. Con số phía trên được gọi là số sách tiêu
chuẩn quốc tế (International Standard Book Number, viết tắt là ISBN), và mỗi
nhà xuất bản sách đều có thể được đồng nhất với một mã số theo cách này.
Khi xử lý hoặc truyền thông tin dưới dạng từ mã, các lỗi có thể xẩy ra
do sự cố điện, sự can thiệp từ bên ngoài như sét, bức xạ, lỗi do con người
hoặc những lỗi kỹ thuật khác. Vì các nguyên nhân đó, một số chữ số trong từ
mã có thể bị thay đổi, do đó cần phải tìm cách chính xác hóa lại hoặc ít nhất là
phát hiện ra lỗi. Cần một số chữ số kiểm tra (check digits), thí dụ, chữ số 8
và chữ số 3 ở ngoài cùng bên phải tương ứng trong Hình 1.1 và Hình 1.2 để
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
37
nhìn vào đó chúng ta có thể biết chắc chắn sản phẩm ta cần mua hoặc cửa
hàng gửi đến đúng quyển sách ta đã đặt. Các chữ số này được chọn bằng cách
tận dụng một số tính chất cơ bản của các số trong dãy số.
Chúng ta đã quen thuộc với ngôn ngữ nói hoặc ngôn ngữ viết, trong đó
chứa rất nhiều cấu trúc câu giúp chúng ta đoán được chính xác ý nghĩa của
câu nói (câu viết), mặc dù câu văn chứa lỗi chính tả hoặc những lỗi khác. Thí
dụ, nếu ta nhận được tin nhắn: “Meat me at fore p.n. tomorrow”, ta vẫn có thể
hiểu được đúng nghĩa của tin nhắn này. Việc phát hiện và sửa lỗi trong truyền
tin cũng tương tự như vậy.
Thí dụ mã đơn giản
Để minh họa có thể sử dụng các con số để tạo ra một cấu trúc chặt chẽ
như vốn có trong ngôn ngữ, ta xem xét ví dụ sau. Giả sử ta và một người bạn
trước khi gửi đi tin nhắn đã thỏa thuận gán nhãn cho chín tin nhắn khác nhau
như: “meet me at four p.m. tomorrow” (bản sửa lại đúng của tin nhắn trên),
hoặc “See you at dinner tonight” bởi các số 1, 2, …, 9 tương ứng. Tiếc là ta
không thể gửi đi một trong những số nguyên đó bởi vì những vấn đề kỹ thuật
gây ra tới 2 ± lỗi trong lúc truyền tin. Do đó, ví dụ, nếu ta nhận được số 3 thì
ta không thể biết người bạn đã gửi tin nhắn nào. Có khả năng là 1 (với lỗi là
2) và 4 (với lỗi là – 1). Tuy nhiên, ta có thể bất chợt nảy ra ý tưởng: nhân số
của tin nhắn với 5 và gửi đi kết quả. Ví dụ: Nếu tin nhắn ta muốn gửi cho một
người bạn có nhãn là 4 thì ta gửi 4x5 = 20. Nếu lỗi truyền đi lớn nhất vẫn là
2 ± , thì tin nhắn luôn có thể được hiểu đúng hoặc được giải mã (decode) như
sau. Giả sử người bạn nhận được số 22 thì anh ta suy luận đúng rằng ta đã gửi
20 với tin nhắn truyền đi sai là + 2. Vì vậy tin nhắn chỉ có thể là 20:5 = 4.
Tương tự, nếu số nhận được là 38 thì ta khẳng định rằng người bạn chỉ có thể
đã gửi 40 với lỗi là – 2. Vì thế 40:5=8 là nhãn của tin nhắn. Ta có thể nhận
thấy rằng mọi tin nhắn là duy nhất (mỗi tin nhắn được giải mã thành một số
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
38
tương ứng với nó) và được giải mã (sửa lỗi) theo quy tắc: làm tròn lên (38
thành 40) hoặc làm tròn xuống (22 thành 20) số nhận được để được số gần
nhất là bội của 5, sau đó chia số đã làm tròn cho 5 để được nhãn của tin nhắn.
Sử dụng mã để truyền và sử lý thông tin một cách chính xác tối đa là
một phần thiết yếu của cuộc sống hiện đại. Chẳng hạn, ngoài mã vạch trên các
sản phẩm, mã PINs (Personal Identification numbers) được sử dụng trên các
thẻ lĩnh tiền tự động (cashcard); các hộ chiếu trong khối EU mang các số
nhận dạng để chống giả mạo; các mã sửa sai (error-correcting codes) được sử
dụng trong truyền dữ liệu từ các mạng toàn cầu nhằm bù lại những khoảng
cách lớn hoặc khả năng giới hạn của các máy truyền tin. Cuối cùng nhưng
không kém quan trọng, mọi đĩa compact (CD) mang dòng chữ “DIGITAL
AUDIO” (âm thanh số). CD được đưa vào sử dụng năm 1982 và đã được sử
dụng để tái tạo âm thanh và lưu trữ thông tin dưới dạng số. Những âm thanh
này đầu tiên được phân tích thành nhiều thành phần rất mảnh và được chuyển
thành các số nhị phân. Để nghe đuợc bản nhạc, các bit được đọc trên đĩa CD
bởi tia laze, và mỗi giây có 1.460.000 bit của thông tin âm thanh được xử lý.
Độ dài của mỗi đoạn ghi chứa khoảng 20 tỉ bit và thậm chí với phương pháp
sản xuất cẩn thận nhất, những sai sót vẫn có trên các đĩa CD. Lý do tại sao
những sai sót này không ảnh hưởng đến nhạc, mà những âm thanh này còn rất
chính xác và không có tiếng “click ”, “ hiss” và những tiếng ồn không mong
muốn khác, đó là do khoảng 2/3 thông tin chứa trên đĩa CD là không dành
cho thông tin âm thanh. Những thông tin thêm này được sử dụng để xử lý âm
nhạc trước khi nó truyền tới tai người nghe nhằm đạt được những âm thanh
cuối cùng thực sự hoàn hảo. Trong thực tế nhóm dữ liệu bao gồm 588 bit
được sử dụng, trong đó 192 bit là chứa thông tin âm thanh và không nhỏ hơn
64 bit là những bit kiển tra và sửa lỗi.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
39
Trong chương này chúng tôi trình bày một số nội dung cơ bản của mã
sửa sai theo tài liệu [6], có tham khảo thêm các tài liệu [1] và [7], dựa trên ý
tưởng sử dụng số học đồng dư và các trường hữu hạn đã được trình bày trong
chương I.
§ 2. Những ví dụ về mã
2.1. Mã lặp
Ví dụ 2.1 (Bốn lệnh)
Giả sử ta muốn dùng một điều khiển từ xa để gửi 4 lệnh khác nhau cho
máy video (video cassette recoder, VCR). Những lệnh này có thể được biểu
thị bởi các từ mã nhị phân (binary codewords) như sau:
Lệnh
Dừng
Stop
Chơi
play
Tua đi
Fast forward (FF)
Tua lại
Rewind (REW)
Từ mã 00 01 10 11
Tuy nhiên, thậm chí một lỗi đơn giản xảy ra trong truyền tin (thí dụ 0 bị
thay bởi 1 hoặc 1 bị thay bởi 0), thì lệnh sai sẽ được thực hiện bởi vì VCR
không có cách để nhận biết lỗi đã xảy ra. Ví dụ nếu ta gửi 10 nhưng bị truyền
sai thành 00 thì VCR dừng lại thay vì tua đi.
Trong ngôn ngữ hàng ngày nếu ta không hiểu ai đó nói, ta thường đề
nghị họ nhắc lại. Bởi vậy một cách tự nhiên để sửa các lỗi là nhắc lại mỗi từ
đã được truyền đi, vì thế bản mã hóa trở thành:
Lệnh Stop Play FF REW
Từ mã 0000 0101 1010 1111
Bây giờ nếu ta truyền 1010 và một lỗi đơn giản xảy ra trong bit đầu tiên
thì VCR nhận được 0010. Đây không phải là từ mã mà được gọi đơn giản là
từ (word). Vì hai chữ số đầu tiên là 00 khác với cặp thứ hai là 10, VCR phát
hiện một lỗi đã xảy ra trong quá trình truyền tin. Tuy nhiên VCR không thể
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
40
sửa lỗi này vì không có cách nào để biết 0010 là 1010 (lỗi trong bit đầu tiên)
hoặc là 0000 (lỗi trong bit thứ 3). Mặc dầu vậy, đã có một sự cải tiến vì VCR
không thực hiện được lệnh nhưng đã xác định được thông tin sai.
Ta cũng có thể thấy một dạng mã lặp trong công việc của người thu
ngân trong siêu thị. Nếu vì một vài lý do nào đó máy quét đọc sai mã vạch,
một thông tin “lỗi” sẽ được hiển thị trên máy kiểm tra và người thu ngân sẽ
thực hiện lại thao tác để nhập mã, thông thường bằng cách dùng tay.
Nếu nhắc lại hai lần thì các từ mã sẽ là:
Lệnh Stop Play FF REW
Từ mã 000000 010101 101010 111111
Bây giờ nếu ta muốn truyền 101010 và lại một lỗi đơn xảy ra, thí dụ
trong bit thứ hai là 1 và thông tin nhận được là 111010. Ta không chỉ phát
hiện ra lỗi như trước đây mà còn có thể sửa lỗi. Điều này được làm bởi cách
cách “đếm vượt” (majority count), đầu tiên cho mỗi cặp bit, như sau:
Bit này phải là 0
1 1 1 0 1 0
Những bit này là 1
Bit thứ hai phải là 0 bởi vì số 0 đã xuất hiện 2 trong 3 lần.
Vậy từ nhận được sẽ được giải mã là 101010.
Quá trình nhận được từ mã (codeword) theo từ (word) đã được chuyển
đi được gọi là giải mã (decoding).
Trong ví dụ trên VCR có thể quyết định ngay rằng lệnh là 10 và là tua đi.
Mã lặp sửa những lỗi truyền đơn giản giống như trong ví dụ trên. Tuy
nhiên nó cũng cho những khó khăn riêng là thông tin gốc được truyền đi ba
lần. Điều này không những đắt mà còn có thể khó thực hiện vì, chẳng hạn
dung lượng thông tin thường bị giới hạn bởi đường truyền.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
41
Ta cũng thấy rằng, những thông tin bổ xung (thông tin lặp) bản thân
nó cũng có thể bị lỗi, do đó việc giải mã có thể không được đảm bảo. Ví dụ
tin nhắn nhận được ở trên 111010 có thể là 111111 với 2 lỗi ở bit thứ tư và
thứ sáu.
Trong suốt chương này ta giả thiết rằng, nhờ sự tin cậy của thiết bị điện
tử, xác suất xảy ra một lỗi đơn là rất nhỏ, đến mức xác suất xảy ra một lỗi đơn
cũng chẳng khác hai hoặc nhiều hơn các lỗi như vậy. Mục tiêu của ta là làm
tăng xác suất tin nhắn nhận được đúng càng cao càng tốt.
Ý tưởng này mở rộng thành khái niệm giải mã lân cận gần nhất
(nearest-neighbour decoding). Người nhận có được một danh sách đầy đủ các
từ mã. Nếu từ nhận được không phải là từ mã thì một hoặc nhiều các lỗi được
phát hiện ngay. Để hiệu chỉnh lỗi, ta chọn từ mã giống nhất với từ đã được
truyền đi bằng cách so sánh những từ nhận được với danh sách đã có và lựa
chọn từ mã mà sai khác với từ đã nhận được với số lỗi nhỏ nhất. Ví dụ, với
mã lặp 6 bit trên nếu nhận được 101111 thì so sánh với 4 mã từ cho ta:
Mã từ 000000 010101 101010 111111
Lỗi 101111 101111 101111 101111
Số lỗi 5 4 2 1
Tin nhắn vì vậy được giải mã là 1111111, vì đó là lân cận gần nhất với
từ nhận được, chỉ sai khác 1 bit.
2.2. Mã chẵn lẻ
Ví dụ 2.2 (Mã cơ số 2-mã nhị phân)
Một mã đơn giản nhưng hữu ích cho việc sửa sai là mã nhận bởi cách
nối thêm 1 bit đơn bổ xung vào mỗi tin nhắn chứa những thông tin được
truyền đi. Bit này được lựa chọn sao cho từ mã kết quả chứa số chẵn chữ số 1.
Điều này dẫn đến mã chẵn lẻ (even parity code). Tương tự, nếu bit bổ xung,
được gọi là bit kiểm tra chẵn lẻ (parity-check bit), hoặc đơn giản là bit kiểm
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
42
tra (check bit), được lựa chọn để từ mã kết quả chứa số lẻ chữ số 1 thì mã kết
quả được gọi là mã lẻ (odd parity code).
Chẳng hạn, xét mã đầu tiên trong ví dụ 2.1 và đặt hoặc số 0 hoặc số 1
vào cuối mỗi từ mã để mỗi từ mã mới là một số chẵn.
Lệnh Stop Play FF REW
Từ mã 000 011 101 111
Nếu, thí dụ, 101 được gửi đi và một lỗi đơn xẩy ra thì từ nhận được sẽ là
một trong các số 001, 111, 100. Mỗi từ này chứa số lẻ chữ số 1, vì thế lỗi đã
được phát hiện. Tuy nhiên nó không thể xác định được bit nào cần được sửa.
Trong trường hợp tổng quát, giả sử tin nhắn gốc gồm n – 1 bit
1 2 1
, , ...,
÷ n
x x x được gọi là các bit thông tin (information bits). Một bit bổ xung
n
x , được gọi là bit kiểm tra, được lựa chọn để từ mã là chẵn. Như vậy, các từ
mã chứa một số chẵn các chữ số 1. Vì thế
( )
1 2
... 0 mod 2
n
x x x + + + ÷ . (2.1)
Các từ mã được truyền đi là
1 2
, , ...,
n
x x x , trong đó
i
x là 0 hoặc 1, và độ
dài (length) của các từ mã, hoặc của bản thân mã, được định nghĩa là n. Giả
sử một lỗi đơn xảy ra trong quá trình truyền tin ở bit thứ i. Điều này nghĩa là
nếu 0
i
x = thì bit thứ i của từ nhận được là
i
y =1 và tương tự
i
y =0 nếu
i
x =1.
Điều này có thể biểu diễn như sau:
( )( ) 1 mod 2
i i
y x ÷ + (2.2)
và từ nhận được là
1 2 1 1
... ...
÷ +
=
i i i n
r x x x y x x . Tính chẵn lẻ của r nhận được bằng
cách cộng các chữ số của nó theo đồng dư 2, được cho bởi
1 2 1 1
... ...
÷ +
+ + + + + + +
i i i n
x x x y x x
1 2 1 1
... ( 1) ... (mod 2)
÷ +
÷ + + + + + + + +
i i i n
x x x x x x
( ) 1 mod 2 ÷ .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
43
Điều này chỉ ra rằng r có tính lẻ. Ta có thể dễ dàng thấy rằng trong
trường hợp tổng quát, nếu một số lẻ của lỗi truyền tin xảy ra thì tính chẵn lẻ
của 1 r = . Nói cách khác, nếu từ nhận được có tính lẻ thì đã xảy ra một số lẻ
lỗi. Tương tự, nếu từ nhận được có tính chẵn thì ở đó phải có một số chẵn các
lỗi (hoặc không có lỗi).
Giả sử rằng xác suất của một lỗi đơn bất kì là rất nhỏ. Khi ấy nếu từ
nhận được có tính lẻ thì hầu như chỉ có đúng một lỗi đã xảy ra; và nếu từ nhận
được có tính chẵn thì hầu như không có lỗi. Hơn nữa, với giả thiết ở trên, mã
kiểm tra tính chẵn phát hiện mọi lỗi đơn. Nhưng nó không thể sửa chữa lỗi
đơn bởi vì không có cách xác định bit nào trong từ nhận được là sai.
Xét một ví dụ khác, giả sử tính chẵn của mã cần kiểm tra có độ dài 5 đã
được sử dụng và tin được gửi đi là 0111. Để thỏa mãn (2.1), bit kiểm tra phải

5
x = 1, vì thế từ mã được truyền đi là 01111 có tính chẵn. Giả sử tối thiểu
có một lỗi trong quá trình truyền tin, khi ấy nếu nhận được 01111, thì từ này
có thể sửa được bởi vì nó có tính chẵn. Sau khi bỏ bit kiểm tra, giải mã tin
nhắn là 0111. Tuy nhiên, nếu từ nhận được, thí dụ, là 10101, thì vì nó có tính
lẻ, nên một lỗi đã xảy ra, nhưng không xác định được bit nào trong từ nhận
được là sai. Từ nhận được được giải mã bằng cách thông báo „lỗi‟.
Một ví dụ khác. Xét mã 7 bit ASCII. Nó thường được mở rộng cho mã
8 bit bằng cách nối thêm 1 bit kiểm tra chẵn. Từ mã 7 bit 1000001 cho chữ A
chở thành 1000010 và một vài từ mã 8 bit được cho trong bảng dưới đây:
Kí tự A B C a b c
Từ mã 10000010 10000100 10000111 11000011 110000101 01100011
Ví dụ 2.3 (Mã cơ số 3-mã tam phân)
Trong mã tam phân các từ mã là
1 2 1
...
÷ n n
x x x x , trong đó
i
x là 0, 1 hoặc 2.
Số kiểm tra
n
x được chọn sao cho:
( )
1 2
... 0 mod 3
n
x x x + + + ÷ (2.3)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
44
Lỗi
i
e trong chữ số
i
x bất kì có thể là 1 hoặc 2. Nói riêng, nếu chỉ có
một lỗi đơn ở chữ số thứ i, thì từ nhận được là
1 2 1 1
... ...
i i i n
z x x x y x x
÷ +
= , trong đó
( )( ) mod 3
i i i
y x e ÷ + .
Trong trường hợp này, tổng các số của z là
1 2 1 1
... ...
÷ +
+ + + + + + +
i i i n
x x x y x x
1 2 1 1
... ( ) ... (mod 3)
i i i i n
x x x x e x x
÷ +
÷ + + + + + + + + ( ) mod 3 ÷
i
e
Vì thế, giả sử có một lỗi đơn xảy ra trong truyền tin thì mã phát hiện
tất cả các lỗi đó bởi vì tổng các chữ số của từ nhận được không chia hết cho 3.
Thí dụ, xét thông tin gửi đi là 10210. Chữ số kiểm tra
6
x được chọn
sao cho (2.3) được thỏa mãn, nghĩa là
6
1 0 2 1 0 x + + + + + ( ) 0 mod 3 ÷ . Suy
ra
6
x = 2. Do đó, từ mã được truyền đi là 102102. Nếu từ nhận được là
112102 thì tổng các số của nó là
( ) 1 1 2 1 0 2 1 mod 3 + + + + + ÷ , chỉ ra rằng
một lỗi đã xảy ra.
Đúng hơn, từ “chẵn lẻ” (parity) chỉ áp dụng cho “tính chẵn” (even-
ness), hoặc “tính lẻ” (odd-ness). Mã chẵn lẻ được mở rộng tự nhiên cho mã
với cơ số p bất kì với tổng các chữ số của mỗi từ đồng dư với 0 theo
môđun p.
2.3. Mã vạch
Ví dụ 2.4 (Số hiệu hàng hóa Châu Âu-European Article Number)
Mã vạch trong Hình 1.1 là ví dụ của mã nhận dạng hàng hóa được sử
dụng rộng rãi và được gọi là EAN (European Article Number), được công
nhận là chuẩn vào năm 1976. Nó đã được phát triển từ mã sản phẩm chung
UPC (Universal Product Code) được sử dụng ở Mỹ từ năm 1973.
Xét Hình 1.1. Mỗi số bao gồm 13 chữ số thập phân. Hai hay ba số đầu
tiên là phân vùng quốc gia, chẳng hạn 30 là Pháp, 49 là Nhật, 50 là Anh, 80 là
Italia, 888 là Singgapor, 885 là Thái Lan … và 893 là Việt Nam. Bốn hoặc
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
45
năm số tiếp theo là các số của nhà sản xuất, và ta có thể thấy trong Bảng 2.1,
thí dụ 4980 đồng nhất với nhà xuất bản giáo dục và 6009 là công ty thuốc lá
Sài Gòn. Năm số kế tiếp đưa ra con số duy nhất xác định các sản phẩm, chẳng
hạn 42679 và 05015 tương ứng cho sách số học và thuốc lá Vinataba. Chữ số
cuối cùng là số kiểm tra mà máy tính lưu trữ có thể kiểm tra xem số trên sản
phẩm có đồng nhất với số của nhà máy không.
Bảng 2.1. Một số EAN
Sản phẩm Mã hàng
Sách Số học của NXB GD 8934980426791
Vinataba của CT thuốc lá SG 8936009050154
Vở ghi Hải Tiến 8936014823033
Tesco plain flour 5000119101594
Abbot Ale 5010549000213
Maille Provencale mustard 3036817800295
Sacla pesto sauce 8001060375109
Book in figure 9780138340940
Chú ý rằng, giá của sản phẩm không phải một phần của mã vạch.
Thông tin này lưu trong bộ nhớ máy tính của cửa hàng và thông báo cho máy
thu ngân điện tử giá của mặt hàng mà mã vạch của nó đã quét được.
Mã EAN cho văn hóa phẩm (ISBN) được bắt đầu với chữ số 978 hoặc
979. Chín chữ số tiếp theo là chín chữ số đầu tiên của ISBN (Hình 1.2).
Nếu một EAN được kí hiệu bởi
1 2 11 12 13
... x x x x x , trong đó
i
x là các chữ số
thập phân, thì chữ số kiểm tra
13
x là được tính sao cho tổng kiểm tra:
( )
1 3 5 7 9 11 2 4 6 8 10 12 13
3 S x x x x x x x x x x x x x = + + + + + + + + + + + + (2.4)
là bội của 10, nghĩa là S thỏa mãn phương trình kiểm tra:
( ) 0 mod10 S ÷ . (2.5)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
46
Ví dụ, thành phần đầu trong Bảng 2.1 khi thay thế vào (2.4) cho ta:
S = 8+ 3 + 9 + 0 + 2 + 7 + 3(9 + 4 + 8 + 4 + 6 + 9) + 1 = 150
( ) 0 mod10 ÷ .
Có thể dễ dàng kiểm tra các dãy khác trong Bảng 2.1 luôn thỏa mãn
(2.5).
Nếu một lỗi trong đại lượng e xẩy ra tại một chữ số
i
x nào đó thì S
trong (2.4) thay đổi thành e hoặc 3e tùy theo chỉ số i là chẵn hay lẻ. Trong
trường hợp khác, vì
( ) 0 9 s s e , sự thay đổi trong S sẽ không còn đồng dư với
0 theo môđun 10, vì thế (2.5) sẽ không thỏa mãn. Do đó mã EAN phát hiện
mọi lỗi đơn, tuy nhiên không sửa được các lỗi đơn vì không biết chữ số nào
của EAN là sai.
Một loại lỗi phổ biến xẩy ra khi nhập các chữ số từ bàn phím, hoặc khi
đọc chúng, là hai chữ số kề nhau bị vô tình đổi chỗ. Nếu, chẳng hạn, khi đó
trong chữ số thứ năm
5
x và thứ sáu
6
x ở một EAN được đổi chỗ, thì trong
tổng kiểm tra (2.4)
5
x được thay thế bởi
6
x và 3
6
x bởi 3
5
x . Sự thay đổi trong
tổng kiểm tra khi đó là
( )
5 6 6 5 5 6
3 3 2 ÷ + ÷ + = ÷ x x x x x x . Do đó nếu
5 6
5 ÷ = ± x x thì sự thay đổi trong tổng kiểm tra sẽ là 10 ± , vì thế tổng kiểm tra
sẽ đồng dư với 0 theo môđun 10 và lỗi sẽ không bị phát hiện. Rõ ràng điều
này có thể áp dụng tương tự đối với sự đổi chỗ của hai chữ số liền kề bất kỳ
sai khác bởi 5 đơn vị (không nhất thiết phải là vị trí
5
x và
6
x ). Tuy nhiên, tất
cả các lỗi này khi đổi chỗ hai chữ số liền kề sẽ được phát hiện. Chẳng hạn,
nếu mã cho sản phẩm thuốc lá Vinataba trong Bảng 2.1 đọc không chính xác
là 8934980426791 (những chữ số
10
7 x = và
11
6 x = đã được đổi chỗ) thì tổng
kiểm tra (2.4) trở thành
S = 8+ 3 + 9 + 0 + 2 + 6 + 3(9 + 4 + 8 + 4 + 7 + 9) + 1 = 151
và vì vậy S
( ) 1 mod 10 ÷ , lỗi đã xảy ra. Tuy nhiên nếu, chẳng hạn mã cho
Vinataba của công ty thuốc lá Sài Gòn đọc không đúng là 8936009500154 thì
tổng kiểm tra (2.4) trở thành:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
47
S = 8 + 3 + 0 + 9 + 0 + 1 + 3(9 + 6 + 0 + 5 + 0 + 5) + 4 = 100
( ) 0 mod10 ÷ .
Vì thế sự đổi chỗ của chữ số thứ thứ bảy và thứ tám (
7
0 x = ,
8
5 x = ,
6 7
5 x x ÷ = ÷ ) không được phát hiện.
Dạng rút ngắn 12 chữ số và 8 chữ số hình thức của EAN cũng được
sử dụng, và một số chuỗi cửa hàng bán lẻ cũng có hệ thống mã vạch riêng
cho mình.
Ví dụ 2.5 (Thư chuyển tiền của bưu điện Mỹ)
Thư chuyển tiền phát hành bởi hệ thống dịch vụ bưu điện nước Mỹ
(USPS) đồng nhất với số
1 2 10 11
... x x x x với
i
x là các chữ số thập phân. Số kiểm tra
11
x được định nghĩa như là phần dư theo môđun 9 của số gồm 10 chữ số, đó là:
( )
1 2 9 10 11
... mod 9 ÷ x x x x x . (2.6)
Do đó
11
0 8 s s x . Chẳng hạn, số 10 chữ số 3844809642 chia cho 9, ta được:
3844809642 = 9 x 427201071 + 3.
Vì vậy,
11
x = 3 và mã từ là 38448096423. Một cách tính toán đơn giản số kiểm
tra
11
x là thay (2.6) bởi đẳng thức đồng dư tương đương:
( )
10
11
1
mod 9
=
÷
¿
i
i
x x . (2.7)
Sử dụng (2.7) với số có 10 chữ số ở trên cho ta
3 + 8 + 4 + 4 + 8 + 0 + 9 + 6 + 4 + 2 = 48
( ) 3 mod 9 ÷ .
Chứng tỏ rằng
11
x = 3, như trên.
Nếu một lỗi xảy ra tại một chữ số nào đó trong mười chữ số đầu thì dễ
dàng thấy rằng phương trình đồng dư (2.7) sẽ không còn đúng, trừ khi 0 được
thay thế bởi 9 và 9 bởi 0. Vậy, mã phát hiện tất cả các lỗi đơn trong các chữ
số
1
x đến
10
x , trừ hai trường hợp trên. Chẳng hạn, nếu
6
x = 0 trong số có 10
chữ số ở ví dụ trên bị thay bởi 9 thì tổng ở vế trái trong (2.7) của số mới này
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
48
sẽ là 48 + 9 = 57
( ) 3 mod 9 ÷ . Điều này chỉ ra rằng số kiểm tra không thay
đổi, vì thế lỗi trong chữ số thứ sáu không bị phát hiện.
Nếu lỗi chỉ xảy ra ở chữ số kiểm tra
11
x thì nó sẽ bị phát hiện vì (2.7) sẽ
vi phạm. Trên thực tế khoảng 2% số các lỗi đơn sẽ không bị phát hiện.
Tuy nhiên, khả năng của mã phát hiện ra các lỗi ở trong việc đổi chỗ
giữa hai chữ số thập phân
i
x và
1 + i
x là rất kém. Thật vậy, nếu 9 s i và hai chữ
số liền kề đổi chỗ thì tổng bên vế trái trong (2.7) không thay đổi và do đó chữ
số kiểm tra không thay đổi. Lỗi không bị phát hiện.
Khả năng còn lại có thể là khi
10
x và
11
x đổi chỗ. Trong trường hợp này
tổng mới của các chữ số trong vế trái của (2.7) là:
( )
1 2 9 11 1 2 9 10 11 10
... ... + + + + = + + + + + ÷ x x x x x x x x x x
( ) ( )( )
11 11 10
mod 9 mod 9 ÷ + ÷ x x x
( ) ( )( )
10 11 10
mod 9 2 2 mod 9 ÷ + ÷ x x x .
Biểu thức cuối cùng này không thể đồng dư với
( )
10
mod 9 x trừ khi
10 11
= x x , bởi vì
11
8 s x nên
( )
11 10
2 2 ÷ x x ( ) 0 mod 9 ÷
/
. Điều này chỉ ra rằng từ
1 2 10 11
... x x x x không phải là một từ mã, trừ khi
10 11
= x x , trong trường hợp đó sự
đổi chỗ của
10
x và
11
x là không phân biệt. Vì vậy mã chỉ phát hiện các lỗi
truyền khi chúng chứa chữ số kiểm tra.
§ 3. Khoảng cách Hamming
Bốn lệnh trong ví dụ 2.1 được biểu diễn bởi 00, 01, 10, 11. Nếu có một
lỗi đơn trong truyền tin thì lệnh sai sẽ được thực hiện. Đó là bởi vì bốn lệnh
00, 01, 10, 11 chứa toàn bộ các khả năng có thể của tổ hợp hai số 0 và 1, do
đó một lỗi trong một bit của một từ mã sẽ chuyển nó thành một từ mã khác –
các từ mã đó “quá gần nhau”. Ý tưởng này đã được khái quát hóa bởi nhà
toán học và khoa học máy tính người Mỹ R.W. Hamming năm 1950.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
49
Kí hiệu
p
là tập hợp các số nguyên 0, 1, 2, …, p – 1 (đại diện của các
lớp đồng dư môđun p). Một xâu các chữ số
1 2 1
...
÷
=
n n
x x x x x , trong đó mỗi
i
x
thuộc
p
được gọi là một từ có độ dài n. Vì mỗi
i
x có thể nhận p giá trị cho
nên tổng cộng có
n
p từ. Một p-mã C chiều dài n là một tập hợp các từ như
vậy, và nếu x C e thì x được gọi là một từ mã.
Trường hợp riêng, nếu 2 p = thì
i
x bằng 0 hoặc 1 và C là một mã nhị
phân. Nếu 3 p = , thì
i
x bằng 0, 1 hoặc 2 và C là mã tam phân.
Trong chương này ta chỉ xét các mã mà tất cả các từ mã có cùng độ dài.
Giả sử x và y là hai từ có độ dài n. Khi ấy khoảng cách Hamming d(x, y)
giữa chúng là số các vị trí mà x và y là khác nhau.
Thí dụ, với mã tam phân có độ dài 5 thì d(01221, 10211) = 3 vì hai từ
này khác nhau tại các vị trí thứ 1, 2 và 4.
Có thể thấy d(x, y) chính là số nhỏ nhất các chữ số của x phải thay đổi
để nhận được y.
Thuật ngữ “khoảng cách” được sử dụng, bởi vì d(x, y) thỏa mãn ba tiên
đề của khoảng cách. Hai tiên đề đầu tiên suy ra ngay từ định nghĩa:
(1) d(x, y) = 0 nếu và chỉ nếu x = y, nghĩa là =
i i
x y với i = 1, 2, …., n.
Nếu ngược lại thì d(x, y) > 0.
(2) d(x, y) = d(y, x).
(3) Tiên đề bất đẳng thức tam giác:
Với bất kì từ thứ ba nào
1 2
... =
n
z z z z , ta có:
d(x, y) sd(x, z) + d(z, y). (3.1)
Để chứng minh (3.1), giả sử x thay đổi thành y bằng cách đi qua z. Số
chữ số thay đổi từ x đến z là d(x, z) và từ z đến y là d(z, y), cho ta tổng chữ số
thay đổi: t = d(x, z) + d(z, y). Tuy nhiên, d(x, y) là số nhỏ nhất có thể các chữ
số cần thay đổi để x trở thành y, và vì thế không thể vượt quá t, bất đẳng thức
(3.1) được thỏa mãn.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
50
Khái niệm giải mã lân cận gần nhất giới thiệu ở ví dụ 2.1 bây giờ có thể
được giải thích lại như sau: coi từ mã đã truyền đi là từ mã gần nhất với từ
nhận được, theo nghĩa khoảng cách Hamming giữa hai từ là nhỏ nhất.
Một tham số quan trọng ảnh hưởng đến việc phát hiện lỗi và tính chất
sửa sai của một mã C là sự “gần gũi toàn bộ” (overall closeness) của các từ,
được đo bằng khoảng cách tối thiểu
( ) C o . Nó được định nghĩa như là giá
trị nhỏ nhất của các d(x, y) với mọi x, y trong C với x = y.
Ví dụ 3.1 (Khoảng cách bé nhất cho ví dụ 2.1)
Mã đầu tiên được sử dụng trong ví dụ 2.1 là
{ }
1
00, 01,10,11 = C , và
khoảng cách giữa tất cả các cặp có thể có của từ mã là:
d(00, 01) = 1, d(00, 10) = 1, d(00, 11) = 2,
d(01, 10) = 2, d(01, 11) = 1, d(10, 11) = 1.
Do đó khoảng cách tối thiểu là
1
( ) 1 C o = , và có thể giải thích lý do tại
sao mã
1
C không thể phát hiện những lỗi đơn. Thật vậy, đối với bất kỳ mã C
với
( ) 1 C o = sẽ có ít nhất hai từ mã a và b mà d(a, b) = 1. Nếu a được truyền
đi với một lỗi
i
a bị thay đổi thành
i
b , khi ấy ta nhận được từ b. Nhưng do
d(a,b)=1 nên b cũng là từ mã, tin nhắn được coi là đúng, vì vậy không có cách
phát hiện lỗi đã xảy ra.
Bây giờ xét mã thứ hai trong ví dụ 2.1, trong đó mỗi tin nhắn được truyền
hai lần, tạo thành
{ }
2
, , , = C a b c e với a =0000, b =0101, c =1010, e =1111.
Khoảng cách Hamming giữa các mã từ bây giờ là d(a, b) = 2, d(a, c) =
2, d(a, e) = 4, d(b, c) = 4, d(b, e) =2, d(c, e) = 2. Do đó khoảng cách tối thiểu

( )
2
C o = 2, và do đó mã
2
C có thể phát hiện tất cả các lỗi đơn.
Mã lặp thứ ba trong ví dụ 2.1 là { }
3 1 2 3 4
, , , = C a a a a với
1
a =000000,
2
a =010101,
3
a =101010,
4
a =111111. Khoảng cách giữa các từ mã là
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
51
d(
1
a ,
2
a )=3, d(
1
a ,
3
a )=3, d(
1
a ,
4
a )=6, d(
2
a ,
3
a )=6, d(
2
a ,
4
a )=3, d(
3
a ,
4
a )=3 và
khoảng cách tối thiểu là
( )
3
C o = 3. Do đó mã này có thể sửa được tất cả các
lỗi đơn.
Ví dụ này minh họa kết quả quan trọng dưới đây, chỉ ra tại sao khoảng
cách tối thiểu xác định được lỗi và các tính chất sửa sai của một mã.
Định lý 3.1 (Phát hiện và sửa lỗi)
Giả sử C là một mã có khoảng cách tối thiểu là o , và giả thiết những từ
nhận được được giải mã bằng nguyên lý lân cận gần nhất. Khi ấy:
(1) C sẽ phát hiện e lỗi với điều kiện
1 > + e o . (3.2)
(2) C sẽ sửa các lỗi e với điều kiện
2 1 > + e o . (3.3)
Chứng minh
(1) Theo định nghĩa của khoảng cách tối thiểu, mọi cặp từ mã khác
nhau ở ít nhất o vị trí. Theo (3.2), các cặp từ mã khác nhau ở ít nhất e + 1
vị trí. Giả sử một mã x đã được truyền đi và nhiều nhất e lỗi xảy ra trong
quá trình truyền. Khi ấy, từ nhận được sẽ khác với x trong nhiều nhất là e
vị trí, và vì vậy không phải là một từ mã. Do đó nhiều nhất e lỗi truyền
được phát hiện.
(2) Giả sử một lần nữa rằng một từ mã x đã được truyền và nhiều nhất e
lỗi xảy ra, do đó từ nhận được z khác với x ở tối thiểu e vị trí, nghĩa là,
( ) , s d x z e. (3.4)
Nếu y là từ mã bất kỳ, khác với từ mã x, khi đó theo định nghĩa của
khoảng cách tối thiểu:
( ) , > d x y o 2 1 > + e . (3.5)
Thay thế (3.4) vào bất đẳng thức tam giác (3.1) cho ta:
( ) ( ) , , s + d x y e d z y .
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
52
Kết hợp điều này với (3.5) ta được

( ) ( ) , , > ÷ d z y d x y e 2 1 1 > + ÷ = + e e e .
Điều này cho thấy khoảng cách giữa từ nhận được z và bất kỳ từ mã y
( = x) tối thiểu là e+1. Do đó theo (3.4), từ mã gần nhất đối với z là x, vì thế
theo nguyên lý lân cận gần nhất, từ nhận được được giải mã là x, tối đa e các
lỗi truyền đi được sửa.
Các bất đẳng thức (3.2) và (3.3) được viết lại là 1 s ÷ e o , và ( )
1
1
2
s ÷ e o .
Định lý có thể phát biểu lại như sau:
Nếu một mã C có khoảng cách tối thiểu là o , thì C có thể được sử dụng
hoặc là để phát hiện tối đa o -1 lỗi; hoặc để sửa nhiều nhất ( )
1
1
2
÷ o lỗi nếu o
là lẻ, hoặc ( )
1
2
2
÷ o nếu o là chẵn.
Khi những lỗi được phát hiện, nhưng không thể sửa được thì người
nhận yêu cầu gửi lại tin nhắn.
Ví dụ 3.2 (Những ứng dụng của định lý)
(a) Áp dụng định lý vào ba mã trong ví dụ 3.1 cho ta bảng dưới đây
Mã o Số lỗi đƣợc phát hiện Số lỗi đƣợc sửa
1
C
1 0 0
2
C
2 1 0
3
C
3 2 1
Các kết quả này phù hợp với khẳng định khi xét các mã lặp lại trong Ví
dụ 2.1. Chú ý rằng bây giờ vì bổ xung thêm mã
3
C (khi tin nhắn được nhắc lại
hai lần) nên nó có thể sửa một lỗi hoặc phát hiện hai lỗi, bởi vì khoảng cách
giữa các từ mã ít nhất là 3.
(b) Xét một mã nhị phân có độ dài 5
{ } 11001, 01110, 10100, 00011 = C
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
53
Dễ dàng thấy rằng khoảng cách tối thiểu là o = 3. Mã hoặc có thể phát
hiện tối đa hai lỗi, hoặc sửa được lỗi đơn. Để minh họa hai trường hợp này,
trước hết giả sử rằng một từ r = 10010 là nhận được. Khoảng cách của nó với
bốn từ mã là d(r, 11001) = 3, d(r, 01110) = 3, d(r, 10010) = 2, d(r, 00011) =
2. Vì các từ mã thứ ba và thứ tư là bằng nhau, theo nguyên lý lân cận gần nhất
thì không thể xác định được từ mã nào được truyền đi, có nghĩa là, những lỗi
không thể được sửa. Tuy nhiên, hai lỗi đã được phát hiện, do đó chẳng hạn r
có thể là từ 10100 với những lỗi trong các bit thứ hai và thứ ba, hay từ 00011
với lỗi trong bit đầu tiên và cuối cùng.
Thí dụ khác, giả sử nhận được 11100. Những khoảng cách tới những từ
mã tương ứng là 2, 2, 1, 5 chỉ ra rằng từ mã thứ ba là gần nhất tới từ nhận
được. Theo nguyên lý lân cận gần nhất ta kết luận rằng từ mã thứ ba 10100 đã
được truyền đi, qua đó sửa chữa lỗi đơn (trong bit thứ hai).
§4. Mã tuyến tính
4.1. Mã nhị phân tuyến tính
Định nghĩa tổng hai từ mã nhị phân
1 2
... =
n
x x x x và
1 2
... =
n
y y y y là
z x y = + mà
( ) mod 2 ÷ +
i i i
z x y , i = 1, 2, …, n.
Có nghĩa là, các bit được cộng theo quy tắc cộng môđun 2:
0 + 0 = 0, 1 + 1 = 0, 1 + 0 = 1 = 0 + 1. (4.1)
Từ (4.1) ta có 0 =
i
z nếu =
i i
x y , và 1 =
i
z nếu =
i i
x y .
Mã nhị phân tuyến tính là một mã C có tính chất tổng của hai từ mã
bất kỳ cũng là một từ mã.
Nghĩa là, nếu x và y thuộc C thì z x y = + cũng thuộc C. Đặc biệt, nếu
x = y thì bit thứ i của x + x là 1 1 0, + = + =
i i
x x hoặc 0 0 0
i i
x x + = + = .
Điều này chỉ ra rằng mọi mã nhị phân tuyến tính bất kỳ luôn luôn chứa
từ mã 0 (có tất cả các bit đều là chữ số không).
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
54
Ví dụ 4.1 (Mã tuyến tính và mã phi tuyến)
(a) Xét mã nhị phân C =
{ } 000, 100, 101, 001 . Các bit của tổng 100 +
101 là 1 + 1 = 0, 0 + 0 = 0, 0 +1 = 1, do đó, 100 + 101 = 001 cũng thuộc C.
Tương tự, những tổng khác của những cặp từ mã là:
000 + 100 = 100, 000 + 101 = 101, 000 + 001 = 001,
100 + 001 = 101, 101 + 001 = 100.
Tất cả là từ mã, vì vậy C là mã tuyến tính.
(b) Mã nhị phân chẵn lẻ trong ví dụ 2.2 là một mã tuyến tính. Thật vậy,
bất kỳ hai từ mã x và y thỏa mãn các điều kiện (2.1)
( ) 0, 0 mod 2 ÷ ÷
¿ ¿
i i
x y . Do đó tổng các bit của z x y = + là:
( ) ( ) 0 mod 2 = + = + ÷
¿ ¿ ¿ ¿
i i i i i
z x y x y .
Điều này cho thấy rằng z cũng thỏa mãn (2.1), và do đó cũng là một
từ mã.
(c) Mã C = (0000, 1010, 0111) là không tuyến tính, bởi vì:
1010+0111=1101 không phải là một từ mã.
Theo Định lý 3.1, ta cần phải tính khoảng cách tối thiểu δ cho một mã
để xác định lỗi và xử lý lỗi đó. Một lý do mã tuyến tính quan trọng bởi vì giá
trị của δ có thể tìm thấy dễ dàng bằng cách tính khoảng cách giữa tất cả các
cặp có thể của các từ mã.
Ta đưa vào định nghĩa:
Trọng số w(x) của một từ mã nhị phân x là số các số 1 trong x.
Xét tổng z của hai mã từ x và y. Dễ thấy rằng
i
z = 1 khi =
i i
x y , do đó,
số các chữ số 1 trong z bằng với số những vị trí mà x và y khác nhau.
Do đó từ định nghĩa của d(x,y) suy ra w(z) = w(x + y) thỏa mãn:
( ) ( ) w , + = x y d x y . (4.2)
Đặt y = 0, (4.2) cho thấy rằng với mọi từ mã x, trọng số của nó được
cho bởi: ( ) ( ) w , 0 = x d x . (4.3)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
55
Như vậy mối quan hệ giữa khoảng cách tối thiểu và trọng số được thiếtt
lập bởi định lý dưới đây.
Định lý 4.1
Khoảng cách tối thiểu o cho một mã nhị phân tuyến tính C bằng trọng
số khác không nhỏ nhất của các từ mã, nghĩa là,
( )
0
min w
=
=
x
x o . (4.3)
Chứng minh
Ký hiệu w* là giá trị nhỏ nhất của w(x) trong (4.3), và để cho u là một
từ mã mà w(u) = w*. Từ (4.2) suy ra
( )
*
w ,0 = d u . Bởi vì cả hai u và 0 là từ
mã nên từ định nghĩa khoảng cách tối thiểu ta cũng suy ra o ≤ d(u, 0). Kết
hợp các kết quả này ta được o ≤ w*.
Mặt khác, o ≥ w*. Vậy o =
*
w , hay (4.3) được chứng minh.
Ví dụ 4.2 (Ứng dụng của định lý)
(a) Trọng số của các từ mã khác không trong mã 4.1a) là w(100)=1,
w(101)=2, w(001) = 1. Do đó theo (4.3) thì khoảng cách tối thiểu là o = 1.
(b) Dễ dàng kiểm tra rằng mã C = (000000, 010101, 101010,
111111) là tuyến tính. Các trọng số là w(010101) = 3, w(101010) = 3,
w(111111) = 6, như vậy theo (4.3) mã có khoảng cách tối thiểu o = 3.
4.2. Biểu diễn ma trận của các mã nhị phân
Ví dụ 4.3 (Phương trình kiểm tra)
Xét một mã nhị phân
1
C độ dài 3 mà các từ mã
1 2 3
x x x thỏa mãn điều
kiện
1 2
0 + = x x . Có tám từ nhị phân chiều dài 3 là 000, 001, 010, 011, 100,
101, 110, 111. Chọn từ 8 từ đó các từ thỏa mãn điều kiện trên thì ta có
1
C =
{ } 000, 001, 110, 111 . Vì
( )
1
C o = 1 nên mã thậm chí không phát hiện
được những lỗi đơn. Nếu thêm một điều kiện là
1
x +
3
x =0 thì chỉ có từ mã đầu
tiên và cuối cùng trong
1
C thỏa mãn điều kiện này, vì vậy mã thỏa mãn cả hai
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
56
điều kiện là
2
C ={000,111}. Rõ ràng
( )
2
C o =3, vì vậy mã này có thể sửa chữa
mọi lỗi đơn.
Các phương trình trên được gọi là phương trình kiểm tra tính chẵn lẻ
(hay đơn giản là phương trình kiểm tra).
Ví dụ này minh họa một ý tưởng tổng quát trong việc xây dựng mã
tuyến tính. Mục tiêu là thêm các điều kiện dưới dạng của những phương trình
kiểm tra tuyến tính nhằm làm tăng khoảng cách tối thiểu giữa các từ mã, và
do đó có thể cải thiện khả năng xử lý lỗi. Nhưng điều này sẽ làm giảm bớt số
lượng các từ mã, và bởi vậy làm giảm bớt khả năng truyền thông tin của mã.
Chẳng hạn,
1
C chứa bốn tin nhắn nhưng chỉ có hai tin nhắn có thể được gửi
bằng cách sử dụng
2
C (ví dụ, “có” và “không”).
Nói chung, những điều kiện mà các bit của từ mã phải thỏa mãn có
dạng phương trình tuyến tính, nên sử dụng ngôn ngữ của ma trận là tiện lợi.
Nói một cách chặt chẽ, những “phương trình” là những phương trình biểu
diễn đồng dư theo môđun 2, nhưng để tiện lợi ta biểu diễn chúng như những
phương trình thông thường.
Một phương trình kiểm tra
1 1 2 2
... 0 + + + =
n n
a x a x a x
có thể được viết dưới dạng thu gọn ax = 0, với
| |
1 2
, , ..., =
n
a a a a là véctơ
hàng với thành phần là
1 2
, , ...,
n
a a a ; x là véctơ mã
| |
1 2
, , ...,
T
n
x x x x = (4.4)

ax =
1 1 2 2
... + + +
n n
a x a x a x (4.5)
là tích vô hướng của a và x, T là kí hiệu chuyển vị ma trận.
Chú ý rằng véctơ mã (4.4) được viết như một cột với những chữ số của
từ mã
1 2
...
n
x x x x = đọc từ trái sang phải và được đặt từ trên xuống dưới.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
57
Nếu có nhiều phương trình kiểm tra, thì chúng có thể được viết dưới dạng:

1 2
1 2
... 0
... 0
... . . ... .
0 . . ... .
n
n
a a a
b b b
x
( (
( (
( (
=
( (
( (
¸ ¸ ¸ ¸
hay 0 Hx = .
Ở đây H là ma trận kiểm tra, các hàng của nó là các hệ số của các
phương trình kiểm tra, và 0 là vectơ không.
Chú ý rằng với các mã nhị phân, tất cả các thành phần trong H là 0
hoặc 1, và H được gọi là một ma trận nhị phân.
Ví dụ 4.4 (Ma trận kiểm tra)
Sử dụng (4.5), hai phương trình kiểm tra trong ví dụ 4.3, cụ thể là

1 2 3
1 1 0 0 + + = x x x ,
1 2 3
1 0 1 0 + + = x x x
có thể được viết như những tích vô hướng

| |
1 1 0 x = 0,
| |
1 0 1 x = 0, (4.6)
trong đó | |
1 2 3
T
x x x x = .
Kết hợp hai biểu thức trong (4.6) cho ta

1 1 0 0
0
1 0 1 0
( (
= =
( (
¸ ¸ ¸ ¸
x . (4.7)
Biểu thức (4.7) có thể được viết gọn như sau
Hx ÷ 0 (mod 2) . (4.8)
Ma trận kiểm tra là ma trận nhị phân
H =
1 1 0
1 0 1
(
(
¸ ¸
. (4.9)
Từ mã
1 2 3
x x x được xác định như là nghiệm của các phương trình kiểm tra
(4.8), nó đã được tìm thấy trong ví dụ 4.3 là 000 và 111.
Giả sử x và y là hai từ mã trong một mã C thỏa mãn cùng một hệ
phương trình kiểm tra dưới dạng ma trận:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
58
Hx = 0, Hy = 0.
Nếu z = x + y, thì
Hz = H(x + y) = Hx + Hy = 0 + 0 = 0.
Điều này chỉ ra rằng z cũng thỏa mãn hệ phương trình kiểm tra, và do
đó cũng thuộc C. Vì vậy, theo định nghĩa, C là một mã tuyến tính. Nói cách
khác, một mã nhị phân tuyến tính C là tập các từ mã thỏa mãn điều kiện
Hx ≡ 0(mod 2), (4.10)
trong đó x là véctơ mã.
Nếu có m phương trình kiểm tra thì H trong (4.10) có m hàng và n cột,
và được gọi là có kích thƣớc m×n, hay là một ma trận m×n.
Ví dụ 4.5 (Tạo một mã tuyến tính)
Những ví dụ 4.3 và 4.4, các từ mã đã nhận được bằng cách đơn giản là
tìm trong tập tất cả các từ có chiều dài 3 các từ thỏa mãn các phương trình
kiểm tra (4.8). Phương pháp này sẽ phức tạp nếu n quá lớn. Dưới đây mô tả
một cách tìm các từ mã cho trường hợp n bất kì.
Giả sử ma trận kiểm tra là
1 0 1 0
0 1 1 1
(
=
(
¸ ¸
H . (4.11)
Những phương trình kiểm tra tương ứng với (4.11) nhận được bằng
cách viết các hàng của H như những hệ số của phương trình. Chẳng hạn, hàng
đầu tiên của H cho
1 2 3 4
1 0 1 0 0, + + + = x x x x hoặc

1 3
0 + = x x . (4.12)
Tương tự dòng thứ hai của H cho

2 3 4
0 + + = x x x . (4.13)
Các từ mã là các nghiệm của (4.12) và (4.13). Phép cộng nghịch đảo
trong
2
là – 0 = 0, -1 = 1, do đó trong
2
cũng cho ta: ÷ =
i i
x x . Phương
trình (4.12) có thể được viết lại như sau:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
59

1 3 3
= ÷ = x x x (4.14)
và (4.13) có dạng

2 3 4 3 4
= ÷ ÷ = + x x x x x . (4.15)
Các bit
1
x và
2
x bây giờ đã được biểu thị dưới dạng
3
x và
4
x được coi
là hai bit độc lập, và chúng nhận giá trị 0 hoặc 1. Tất cả có bốn khả năng sau
1
x
2
x
3
x
4
x
0 0 0 0
0 1 0 1
1 1 1 0
1 0 1 1
Đối với mỗi cặp giá trị của
3
x và
4
x , giá trị tương ứng của
1
x và
2
x
trong hai cột đầu tiên được chọn theo công thức (4.14) và (4.15). Ví dụ
3
1 = x ,
4
0 = x thì
1 3
1 = = x x ,
2 3 4
1 = + = x x x .
Từ bảng này có thể thấy rằng có bốn từ mã 0000, 0101, 1110, 1011. Sử
dụng (4.3), khoảng cách tối thiểu là o = min[w(0101), w(1110), w(1011)] = 2.

3
x và
4
x có thể chọn tùy ý nên chúng được gọi là các bit thông tin.
Hai bit
1
x và
2
x được gọi là các bit kiểm tra, và các bit này được xác định
duy nhất bởi các bit thông tin, như được chỉ ra trong bảng trên. Thông tin tin
nhắn
3
x
4
x được gọi là mã hóa (encoded) thành từ mã
1
x
2
x
3
x
4
x .
Ví dụ trên minh họa bài toán xây dựng một mã tuyến tính được thực
hiện bằng cách chọn một ma trận kiểm tra phù hợp. Chú ý rằng các phương
trình (4.12) và (4.13) dễ dàng giải được vì bit kiểm tra
1
x chỉ xuất hiện trong
phương trình đầu tiên và bit kiểm tra
2
x chỉ xuất hiện trong phương trình thứ
hai. Tương tự, ta xét mã có ba bit kiểm tra cho một mã chiều dài 5, với các
phương trình kiểm tra dạng:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
60
1 1 4 2 5
0 + + = x a x a x ;
2 1 4 2 5
0 + + = x b x b x ; (4.16)

3 1 4 2 5
0 + + = x c x c x ,
trong đó
4
x và
5
x là những bit thông tin. Như ví dụ 4.1, hệ có thể được viết lại
bằng cách sử dụng môđun 2 để biểu diễn các mã kiểm tra như sau
1 1 4 2 5
2 1 4 2 5
3 1 4 2 5
= +
¹
¦
= +
`
¦
= +
)
x a x a x
x b x b x
x c x c x
. (4.17)
Trong ký hiệu ma trận, (4.16) trở thành Hx = 0, trong đó:
1 2
1 2
1 2
1 0 0
0 1 0
0 0 1
(
(
=
(
(
¸ ¸
a a
H b b
c c
, | |
1 2 3 4 5
T
x x x x x x = . (4.18)
Ba cột đầu tiên của H trong (4.18) tạo thành ma trận đơn vị 3×3,
được ký hiệu là
3
I . Các cột còn lại của (4.18) tạo thành một ma trận A số
chiều 3 × 2.
Tương tự, ma trận kiểm tra (4.11) có thể được viết là H =
| |
2
I A với:

2
1 0
0 1
(
=
(
¸ ¸
I ,
1 0
1 1
(
=
(
¸ ¸
A .
Tổng quát, để xây dựng một mã nhị phân tuyến tính chiều dài n với m
bit kiểm tra, ma trận kiểm tra là:
| |
m
H I A = , với A là ma trận có số chiều
( )
m n m × ÷ . Các từ mã x =
1 2
...
n
x x x thỏa mãn phương trình kiểm tra Hx = 0.
Các bit kiểm tra
1 2
...
n
x x x được tính như sau:
1 1
2 2
... ...
+
+
+
( (
( (
( (
=
( (
( (
¸ ¸ ¸ ¸
m
m
n m n
x x
x x
A
x x
. (4.19)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
61
Chẳng hạn, (4.17) được viết thành:
1
4
2
5
3
(
(
(
=
(
(
¸ ¸
(
¸ ¸
x
x
x A
x
x
, trong đó
1 2
1 2
1 2
(
(
=
(
(
¸ ¸
a a
A b b
c c
.
Có tất cả k = n - m bit thông tin
1,
...,
+ m n
x x . Bởi vì các bit này có thể nhận giá
trị 0 hay 1 độc lập, tổng cộng có tất cả 2
k
từ mã. Số k được gọi là số chiều
của mã, còn mã được gọi là một [n,k] mã. Để mã hóa một tin nhắn chứa
1,
...,
+ m n
x x , đơn giản ta thêm vào đầu nó những bit kiểm tra
1 2
...
m
x x x được tính
bằng cách sử dụng (4.19).
Ví dụ 4.6 (Xây dựng một mã tuyến tính)
Để xây dựng mã chiều dài 7 với ba bit kiểm tra, ta chọn ma trận kiểm tra
| |
3
1 0 0 1 1 0 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
H I A
(
(
= =
(
(
¸ ¸
. (4.20)
Các hàng của ma trận A trong (4.20) đơn giản là những hệ số của
những phương trình trong vế phải của (4.19). Vì m = 3, các bit kiểm tra là
1 2 3
, , x x x , do đó, ví dụ, dòng đầu tiên của A trong (4.20) cho
1 4 5 6 7
1 1 0 1 = + + + x x x x x , có nghĩa là:
1 4 5 7
= + + x x x x .
Tương tự, dòng thứ hai và thứ ba của A trong (4.20) cho

2 4 5 6
= + + x x x x ,
3 5 6 7
= + + x x x x .
Như trong ví dụ 4.5, lựa chọn tất cả các giá trị có thể có của các bit
thông tin
4 5 6 7
, , , x x x x cho tập tất cả các từ mã. Ví dụ, nếu
4
x =1,
5
x =0,
6
x = 1,
7
x = 0 thì:

1
x = 1 + 0 + 0 = 1,
2
x = 1 + 0 +1 = 0,
3
x = 0 + 1 + 0 = 1.
Vì vậy, từ mã tương ứng là 1011010.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
62
Mã chiều dài 7 xây dựng như trên có kích thước là k =7 3 ÷ = 4, và
có tất cả
4
2 = 16 từ mã. Bốn từ mã khác với 1011010 được liệt kê trong
bảng sau.
Các bit kiểm tra Các bit thông tin
1
x
2
x
3
x
4
x
5
x
6
x
7
x
1 1 0 1 0 0 0
1 1 1 0 1 0 0
0 1 1 0 0 1 0
0 0 1 1 1 0 0
Phát hiện lỗi đơn
Đối với một mã nhị phân, một lỗi đơn có nghĩa là một bit 0 được nhận
là 1, hoặc bit 1 được nhận là 0. Theo Định lý 3.1, để mã phát hiện tất cả các
lỗi đơn khoảng cách tối thiểu o ít nhất phải là 2. Tuy nhiên theo Định lý 4.1,
đối với một mã nhị phân tuyến tính, o bằng số nhỏ nhất của tất cả các trọng
số của từ mã khác không. Vì vậy trong trường hợp này đòi hỏi o ≥ 2, suy ra
rằng không có từ mã nào có trọng số 1. Nếu e là từ có trọng số 1 thì nó có mọi
bit bằng 0 trừ một bit thứ i, tức là
| |
0...010...0
T
e = . Từ e như vậy không là từ
mã thì nó phải thỏa mãn He 0 = .Tuy nhiên, vectơ tích He chính là cột thứ i
của H, vì vậy suy ra không có cột nào của H có thể bằng không. Nói cách
khác, ma trận kiểm tra H của mã tuyến tính nhị phân phát hiện lỗi đơn (single-
error-detecting) không có cột nào bằng 0.
Ví dụ 4.7 (Hai ma trận kiểm tra)
(a) Ma trận kiểm tra H trong (4.11) không có cột số nào có tất cả các
phần tử bằng không và do đó tạo ra một mã phát hiện tất cả các lỗi đơn. Điều
này có được do δ = 2 cho mã này.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
63
(b) Ma trận kiểm tra
1 0 0 1
0 0 1 1
1 0 1 0
(
(
=
(
(
¸ ¸
H có cột thứ hai bằng 0. Do đó
0100, với chỉ bit thứ hai khác không, là một từ mã có trọng số 1. Khoảng cách
tối thiểu do đó là o =1, và mã với ma trận kiểm tra H không nhận diện được
những lỗi đơn.
Sửa chữa lỗi đơn
Trong §3 ta biết rằng, để sửa được những lỗi đơn thì o ≥ 3, nghĩa là
không có từ mã nào có trọng số 1 hoặc 2. Nếu e là một từ nhị phân có trọng số
2 thì e chỉ có hai bit khác không tại vị trí i và j và khi ấy He ≠ 0. Tuy nhiên,
điều này dẫn đến các cột
i
h ,
j
h thứ i và thứ j của H thỏa mãn điều kiện
i
h +
j
h 0 = (vì
i
h +
j
h =He), tức là
i
h ≠
j
h , bởi vì -
i
h =
j
h (mod 2). Nói cách
khác, H là ma trận kiểm tra của mã nhị phân tuyến tính sửa được lỗi đơn
(single-error-correcting linear binary code, viết tắt: s.e.c) thì không có cột nào
của H là 0 và không có hai cột của H bằng nhau.
Ví dụ 4.7 (Mã sửa được lỗi đơn)
(a) Ma trận kiểm tra H trong (4.11) có các cột thứ hai và thứ tư bằng
nhau, và do đó không phải là ma trận kiểm tra của một mã s.e.c. Điều này
phù hợp với các kết quả trước đã chỉ ra rằng khoảng cách tối thiểu cho mã
này là 2.
(b) Nếu mã chỉ có hai bit kiểm tra, thì ma trận kiểm tra thỏa mãn các
điều kiện sửa lỗi đơn chỉ có thể là
1 0 1
0 1 1
(
=
(
¸ ¸
H , bởi vì ba cột trên cho thấy
chỉ có cột khác không là những cột với hai phần tử. Như đã nhận xét ở trên,
hoán vị các cột của H (ví dụ, để sinh ra ma trận H trong (4.9)) không sinh một
mã khác.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
64
(c) Khi có ba bit kiểm tra, chỉ có duy nhất một lựa chọn để các cột của
ma trận A khác với các cột của
3
I là ma trận đã được chỉ ra trong (4.20). Ma
trận H trong (4.20) khi ấy là ma trận kiểm tra cho một mã s.e.c. chiều dài 7.
Tương tự, chọn bất kỳ một, hai hoặc ba trong số các cột của A trong (4.20) và
phụ thêm chúng vào các cột của
3
I , kết quả trong ma trận kiểm tra s.e.c. cho
mã chiều dài 4, 5 hoặc 6 tương ứng. Thí dụ, mỗi ma trận
1
1 0 0 1 1
0 1 0 1 1
0 0 1 0 1
(
(
=
(
(
¸ ¸
H ,
2
1 0 0 0 1
0 1 0 1 1
0 0 1 1 1
(
(
=
(
(
¸ ¸
H (4.21)
sinh ra một mã s.e.c. chiều dài 5 với ba bit kiểm tra và hai bit thông tin.
Chú ý rằng trong mỗi trường hợp ba cột đầu tiên (có nghĩa là,
3
I ) được
giữ lại.
(d) Ma trận kiểm tra
1 0 0 1 1 0
0 1 0 1 1 1
0 0 1 0 1 0
(
(
=
(
(
¸ ¸
H có các cột thứ hai và thứ
sáu bằng nhau. Vì x =010001 với chữ số 1 trong các vị trí thứ hai và thứ sáu
thỏa mãn 0 Hx = nên x là một từ mã có trọng số 2. Do đó mã tương ứng với H
có khoảng cách tối thiểu 2, vì vậy không sửa được lỗi đơn. Vì H không có cột
chỉ gồm toàn các chữ số 0 nên mã không phát hiện được những lỗi đơn.
Phần (c) của ví dụ 4.7 đã chỉ ra rằng một mã s.e.c. với ba bit kiểm tra
có chiều dài tối đa là 7. Nói chung, cho một mã chiều dài n với m bit kiểm tra,
ma trận kiểm tra sẽ là
ô côt ÷
( =
¸ ¸
m
mc t n m
H I A m hàng.
Bởi vì mỗi phần tử trong m phần tử của một cột của A có thể là 0 hoặc
1, nên có nhiều nhất là 2
m
cột khác nhau cho lựa chọn A. Nhưng để mã có
tính chất s.e.c., cột 0 và m cột của
m
I phải bị loại ra từ A. Do đó tổng số các
cột có thể chọn chỉ là 2
m
– m - 1. Nghĩa là, đối với một mã nhị phân s.e.c, số
(n - m) cột của A phải thỏa mãn n - m ≤ 2
m
– m – 1.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
65
Do đó chiều dài của các mã này thỏa mãn các điều kiện n ≤ 2
m
– 1. Khi
2 1
m
n = ÷ thì mã được gọi là hoàn hảo (perfect). Ví dụ, khi có bốn bit kiểm
tra, mã s.e.c hoàn hảo có chiều dài
4
2 -1 = 15, và số bit thông tin là 15-4=11.
Các mã s.e.c không hoàn hảo với bốn bit kiểm tra có ít hơn 11 bit thông tin.
4.3. Thuật toán hội chứng giải mã cho các mã nhị phân
Từ trước đến nay ta đã giải mã bằng cách tìm khoảng cách Hamming
giữa một từ nhận được r và mỗi từ mã. Khi ấy nguyên tắc lân cận gần nhất
chọn từ mã gần nhất với r để giả định là từ mã đã được truyền đi. Sơ đồ giải
mã này không thực tế khi có một số lượng lớn từ mã. Thay vào đó, cách tiếp
cận trực tiếp sử dụng ma trận kiểm tra H là thích hợp hơn. Tuy nhiên, nguyên
lý “lân cận cực đại (maximum likelihood) vẫn có hiệu lực – Nguyên tắc này
giả thiết từ nhận được không có lỗi là gần hơn tất cả các từ khác và từ nhận
được với một lỗi là gần hơn từ có hai lỗi hoặc hơn, v.v,...
Nếu r là một từ mã, theo định nghĩa nó thỏa mãn Hr = 0. Nếu khi
truyền tin xảy ra một lỗi đơn ở vị trí thứ i thì r c e = + , trong đó e là một từ có
1
i
e = , và 0
i
e = với mọi i khác. Trong trường hợp này một lần nữa 0 Hc = ,
nhưng do
i
He h = là cột thứ i của H nên
Hr = H(c + e) = Hc + He = 0 +
i
h =
i
h .
Điều này chỉ ra rằng nếu một lỗi đơn xuất hiện trong truyền tin thì Hr
bằng một cột của H. Vì vai trò của nó trong việc xác định từ mã đã được
truyền đi, các véc tơ cột Hr (nhận được bằng cách nhân ma trận kiểm tra và
véctơ cột r tạo thành từ từ nhận được r) được gọi là hội chứng (syndrome)
của r. Tên gọi này xuất phát từ việc sử dụng thuật ngữ y khoa với nghĩa là
“triệu chứng” (symptom).
Để giải mã một từ nhị phân nhận được r, ta sử dụng thuật toán sau đây.
Thuật toán hội chứng giải mã cho các mã nhị phân
Bước 1: Tính hội chứng s = Hr (mod 2).
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
66
Bước 2: Nếu 0 s = thì coi r là một từ mã và lỗi truyền không xảy ra.
Bước 3: Nếu s = cột thứ i của H, giả sử một lỗi đơn đã xảy ra trong
bit thứ i, và từ mã đã truyền đi là r e + đã nhận được bằng cách sửa
i
r
thành
i
r + 1.
Bước 4: Nếu s ≠ 0, s khác cột thứ i của H, thì giả thiết rằng nhiều hơn
một lỗi đã xảy ra, và đòi hỏi truyền lại tin nhắn.
Ví dụ 4.8 (Ứng dụng của thuật toán)
Xét mã s.e.c. chiều dài 5 với ma trận kiểm tra là ma trận
1
H trong (4.21).
(a) Nếu từ nhận được là r = 11001 thì hội chứng
1
s H r = là

1
1 0 0 1 1 1
0 1 0 1 1 0
0 0 1 0 1 0
1
(
(
(
(
(
( =
(
(
(
¸ ¸
(
(
¸ ¸
s =
1.1 0.1 0.1 1.0 1.1 0
0.1 1.1 0.0 1.0 1.1 0
0.1 0.1 1.0 0.0 1.1 1
+ + + +
( (
( (
+ + + + =
( (
( ( + + + +
¸ ¸ ¸ ¸
.
So sánh s với
1
H trong (4.21) cho thấy rằng nó bằng với cột thứ ba của
1
H . Do đó theo bước 3, một lỗi truyền xảy ra trong bit thứ ba, do đó e =
00100. Bit thứ ba của r được sửa thành 0 + 1 = 1, do đó, các từ mã đã truyền
là c =11101. Vì
1
0 Hc = nên c thực sự là một từ mã.
(b) Nếu từ nhận được là r = 10100 thì hội chứng là:

1
1 0 0 1 1 0 1
0 1 0 1 1 1 0
0 0 1 0 1 0 1
0
s
(
(
( (
(
( (
( = =
( (
(
( (
¸ ¸ ¸ ¸
(
(
¸ ¸
.
Rõ ràng s không phải là cột của
1
H , do đó, theo bước 4, có nhiều hơn
một lỗi đã xảy ra. Ta có thể kiểm tra trong trường hợp này các từ mã đã được
truyền đi có thể là 00000 với những lỗi trong bit đầu tiên và thứ ba; hoặc
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
67
11101 với những lỗi trong các bit thứ hai và bit thứ năm; hoặc 00111 với các
lỗi trong bit thứ nhất, thứ tư và thứ năm. Mã không thể sửa các lỗi bội này.
Phần (b) của ví dụ 4.7 chỉ ra rằng có thể nhận được một hội chứng
không phải là một cột của ma trận kiểm tra. Điều này có nghĩa rằng không có
từ mã nào mà khoảng cách Hamming đến từ nhận được là 1. Tuy nhiên, nếu
mã là hoàn hảo thì điều này không thể xảy ra – một hội chứng sẽ bằng một cột
của H. Nói cách khác, mỗi từ nhận được có thể được coi là nhận được từ một
từ mã duy nhất với nhiều nhất là một lỗi. Để giải thích tại sao, ta nhớ rằng
một mã hoàn hảo với m bit kiểm tra có độ dài n = 2 1
m
n = ÷ , và chứa 2
k
từ
mã, với k n m = ÷ . Có chính xác n từ mà khoảng cách Hamming là 1 đến từ
mã 00…0, là các từ mã 10...0, 010...0, 0...010...0, 0...01 (sai khác với từ mã
00…0 duy nhất 1 bit). Tương tự áp dụng cho mỗi từ mã khác. Như vậy tổng
số của các từ có chiều dài n mà khoảng cách bằng 1 đến một từ mã là:
( )
2 . 2 2 1 2 2 = ÷ = ÷
k k m n k
n .
Bởi vậy, 2 2 2 . = +
n k k
n, trong đó 2
n
là tổng số những từ có độ dài n; 2
k

là số những từ mã; 2 .
k
n số những từ có khoảng cách bằng 1 đến từ mã.
Với một mã hoàn hảo, một từ có chiều dài n hoặc chính nó cũng là một
từ mã, hoặc có khoảng cách 1 đến một từ mã. Trong trường hợp này Bước 4
của thuật toán không áp dụng được, điều này giải thích tại sao các mã như thế
được gọi là “hoàn hảo”. Tất cả điều này giả định rằng tối đa là một lỗi truyền
xảy ra. Ví dụ, có thể đối với một từ mã được truyền đi, và nhận được một từ
mã khác bởi một số lỗi xảy ra. Thuật toán hội chứng giải mã chỉ có thể kết
luận "không có lỗi” trong trường hợp này.
4.4. Mã nhị phân Hamming
Một bất lợi của thuật toán trong phần trước là một hội chứng phải được
so sánh với các cột của ma trận kiểm tra. Vào năm 1950, Hamming đã nghĩ ra
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
68
một lược đồ, theo đó vị trí của các lỗi đơn có thể nhận được trực tiếp từ hội
chứng. Nhớ lại rằng ma trận kiểm tra cho một mã nhị phân s.e.c phải không
chứa một cột gồm toàn chữ số 0, hoặc hai cột giống hệt nhau. Hamming chỉ ra
rằng, con đường tự nhiên đáp ứng điều kiện này là chọn biểu diễn nhị phân
của các số nguyên 1, 2, 3, 4,... như là các cột H.
Ví dụ 4.9 Mã Hamming chiều dài 5
Biểu diễn nhị phân của những số nguyên từ đến 5, sử dụng ba bit là:
Số thập phân 1 2 3 4 5
Nhị phân 001 010 011 100 101
Những số nhị phân này loại trừ 000 và tất cả đều khác nhau, do đó, viết
chúng như các cột của một ma trận kiểm tra, mà thực chất sẽ tạo ra một mã
s.e.c. có ba bit kiểm tra.
Như trước đây, những bit được đọc từ trái sang phải, và được xếp từ
trên xuống dưới, do đó, ví dụ, 001 trở thành
0
0
1
(
(
(
(
¸ ¸
. Thực hiện điều này cho mỗi
số nhị phân dẫn đến ma trận:

0 0 0 1 1
0 1 1 0 0
1 0 1 0 1
(
(
=
(
(
¸ ¸
H . (4.22)
Đây là ma trận kiểm tra cho một mã Hamming nhị phân [5,2]. Chú ý
rằng H trong (4.22) không còn có dạng mà ba cột đầu tạo nên ma trận
3
I có
số chiều 3x3, như trong (4.20). Thay vào đó, chúng là những cột thứ nhất, thứ
hai và thứ tư trong (4.20) và chỉ chứa một số 1, tương ứng với biểu diễn nhị
phân của 1, 2 và 4. Các bit kiểm tra là x
1
,
2
x và x
4
. Viết lại các phương trình
kiểm tra Hx = 0, trong đó
1 2 3 4 5
x x x x x x = , cho:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
69
x
4
+ x
5
= 0, x
2
+ x
3
= 0, x
1
+ x
3
+ x
5
= 0.
Do
i i
x x = ÷ trong hệ cơ số 2 nên hệ trên có thể được sắp xếp lại như sau:

1 3 5
x x x = + ,
2 3
= x x ,
4 5
= x x .
Chọn tất cả các giá trị có thể cho các bit thông tin x3 và x5, ta được
bảng sau:
Bit kiểm tra Bit thông tin
1
x
2
x
4
x
3
x
5
x
0 0 0 0 0
1 1 0 1 0
1 0 1 0 1
0 1 1 1 1
Viết các bit theo thứ tự
1 2 3 4 5
x x x x x sẽ được bốn từ mã 00000, 11100,
10011, 01111.
Bây giờ xét giải mã bằng cách sử dụng thuật toán hội chứng trong Mục
4.3. Nếu một lỗi đơn xảy ra thì hội chứng bằng một cột của H. Tuy nhiên,
không cần phải kiểm tra H trong (4.22) để xem nó là cột nào. Ví dụ, giả sử
một từ đã nhận được là r = 01101, khi ấy hội chứng là:
1
0
0
(
(
= =
(
(
¸ ¸
s Hr
Chuyển véctơ cột s thành số nhị phân s = (100)
2
, như vậy số này trong
hệ thập phân là 4, do đó lỗi ở bit thứ tư, và từ mã được truyền là r + 00010 =
01111. Xóa các bit kiểm tra x
1
, x
2
và x
4
, tin nhắn được giải mã là 11. Điều
này minh họa tính chất cơ bản của các mã nhị phân Hamming: biểu diễn nhị
phân của hội chứng ngay lập tức chỉ ra bit lỗi.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
70
Nếu có nhiều hơn một lỗi xuất hiện thì Bước 4 của thuật toán hội chứng
giải mã khẳng định rằng hội chứng này không phải là cột của ma trận kiểm
tra. Ví dụ, nếu r = 11010 thì
1
1
1
(
(
= =
(
(
¸ ¸
s Hr . Chuyển sang số nhị phân (111)
2
=
7. Mã có chiều dài chỉ là 5, do đó không thể có lỗi ở bit thứ bẩy: kết luận là
nhiều hơn một lỗi đã xảy ra.
Ngẫu nhiên, mã trong ví dụ này có thể được sử dụng để gửi bốn tin
nhắn là 00, 10, 01, 11 và là cải tiến của mã lặp trong Ví dụ 2.1 vì ở đây chỉ
yêu cầu năm bit để sửa các lỗi đơn, trong khi đó mã lặp trong Ví dụ 2.1 yêu
cầu sáu.
4.5. Các tính chất của mã nhị phân Hamming [n,k]
(1) Mã có độ dài n, kích thước k và m = n - k bit kiểm tra. Nếu
2 1
m
n = ÷ thì mã là hoàn hảo, nếu n < 2
m
- 1 mã là rút ngắn (shortened).
(2) Với i =1,2, ..., n, cột thứ i của ma trận kiểm tra H kích thước m n ×
là vectơ cột được tạo thành từ biểu diễn nhị phân của i sử dụng m bit.
(3) Các bit kiểm tra ở những vị trí, nơi mà các cột của H chỉ chứa một
chữ số 1, cụ thể là
1 2 4 8
, , , ,....,
p
x x x x x với
1
2
÷
=
m
p .
(4) Theo cách xây dựng, mã sửa được mọi lỗi đơn, và do đó có khoảng
cách tối thiểu là 3. Thật ra, o thực sự là bằng 3.
(5) Để giải mã một từ nhận được r, ta tính các hội chứng s = Hr. Nếu
0 s = thì coi từ mã r đã được truyền đi. Ngược lại, nếu ( ) ( )
2 10
= s s j n thì giả
sử một lỗi đơn xảy ra trong bit thứ j; nếu j > n thì có nhiều hơn một lỗi xảy ra.
6) Đối với mã Hamming hoàn hảo, mỗi hội chứng (ngoại trừ 0) xuất
hiện như là một cột của ma trận kiểm tra, và do đó tương ứng với một lỗi đơn
sửa được. Đối với mã Hamming rút gọn, một số hội chứng chỉ ra các lỗi kép.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
71
Ví dụ 4.10 (Mã Hamming hoàn hảo [7, 4])
Ở đây số bit kiểm tra m = 7- 4 = 3, và n = 2
3
- 1. Biểu diễn nhị phân
6=(110)
2
và 7 = (111)
2
cho hai cột bổ sung sẽ được nối thêm vào (4.22). Do
đó ma trận kiểm tra 3x7 là:
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
H
(
(
=
(
(
¸ ¸
. (4.23)
Ví dụ, giả sử một từ đã nhận được là r = 0110111, và tối đa một lỗi
xảy ra trong truyền tin. Hội chứng là:
0
1
0 0 0 1 1 1 1 1 1
0 1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 1 1
1
1
s Hr
(
(
(
(
( (
(
( (
= = =
(
( (
(
( (
¸ ¸ ¸ ¸
(
(
(
¸ ¸
.
Điều này dẫn đến ( )
2
101 = 5 chỉ ra rằng lỗi xuất hiện tại bit thứ 5 và khi
ấy từ mã đã được chuyển là 0110011. Loại các bit kiểm tra
1 2 4
, , x x x dẫn tới
tin nhắn được giải mã là 1011.
4.6. Các p-mã Hamming
Một p–mã C có độ dài n đã được định nghĩa trong §3 là một tập hợp
các từ mã
1 2
... =
n
x x x x với
i p
x e . Dưới đây ta chỉ xem xét các mã với p là
một số nguyên tố, do đó
p
là một trường hữu hạn. Định lý 3.1 về phát hiện
và sửa lỗi trong §3 được áp dụng cho bất kỳ p–mã nào, nhưng định nghĩa
tuyến tính trong mục 4.1 cần sửa đổi theo cách sau.
Cho hai p–từ mã x và
1 2
... =
n
y y y y , tổng z=x+y có các chữ số
( )( )
i i i
z x y mod p = + , i = 1, 2, …, n. Khi ấy C là tuyến tính khi và chỉ khi
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
72
(i) + e x y C , với mọi x, y eC và
(ii) ax eC với mọi a e
p
.
Đối với mã nhị phân, điều kiện (ii) trở thành luôn đúng vì
{ }
2
0,1 = .
Trọng số của p–từ mã bây giờ là số các chữ số khác không của nó.
Với định nghĩa mở rộng này, Định lí quan trọng (4.1) vẫn còn đúng, tức
là khoảng cách tối thiểu của một mã tuyến tính bằng trọng số nhỏ nhất của từ
mã khác không.
Mã tuyến tính có khả năng sửa mọi lỗi đơn ít nhất phải có khoảng cách
tối thiểu là 3. Điều này trở về yêu cầu đầu tiên là ma trận H phải không có cột
gồm toàn các số 0, giống như trong mã nhị phân; yêu cầu thứ hai trước kia
trong mã nhị phân là không có hai cột của ma trận kiểm tra bằng nhau, bây
giờ được thay thế bởi điều kiện là không có cột nào là bội khác 0 của cột
khác; bội này được xác định bằng cách nhân mỗi phần tử của véctơ x với
ce
p
, đó là
( )
1 1
2 2
mod
. .
. .
( (
( (
( (
=
( (
( (
¸ ¸ ¸ ¸
x cx
x cx
c p .
Phương trình kiểm tra (4.10) bây giờ trở thành Hx ≡ 0 (mod p).
Ví dụ 4.11 Mã tuyến tính tam phân
Ma trận kiểm tra
0 1 1 2
1 0 2 1
(
(
¸ ¸
không phải là ma trận cho một mã tam
phân s.e.c., bởi vì các cột thứ tư là bằng 2 lần cột thứ ba, đó là,
1 2 2
2
2 4 1
( ( (
= =
( ( (
¸ ¸ ¸ ¸ ¸ ¸
(mod 3). (4.24)
Tuy nhiên, ma trận kiểm tra

0 1 1 1
1 0 1 2
(
=
(
¸ ¸
H (4.25)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
73
xác định một mã tam phân tuyến tính s.e.c, bởi vì không có cột nào là bội của
các cột khác. Để xác minh điều này, ta chỉ cần viết ra tất cả các bội khác
không của các cột và xác nhận rằng không có cột nào lặp lại. Đối với mã này,
từ mã
1 2 3 4
= x x x x x được bằng cách giải các phương trình kiểm tra
( ) 0 mod 3 ÷ Hx với H trong (4.25). Điều này cho

2 3 4
0 + + = x x x ;
1 3 4
2 0 + + = x x x .
Lấy
3
x và
4
x là chữ số thông tin, những chữ số kiểm tra có thể được
biểu diễn như sau (vì -1 = 2, - 2 = 1 theo môđun 3):

1 3 4 3 4
2 3 4 3 4
2 2 ;
2 2 .
x x x x x
x x x x x
= ÷ ÷ = +
¦
´
= ÷ ÷ = +
¹
(4.26)
Các chữ số
3
x và
4
x độc lập có thể lấy giá trị 0, 1, 2, vậy có 3
2
= 9 từ
mã. Như đối với các mã nhị phân tuyến tính, các giá trị của các chữ số kiểm
tra nhận được từ (4.26), theo môđun 3. Ví dụ, khi x
3
= 1, x
4
= 2 thì x
1
=2 +2
=1, x
2
= 2 + 4 = 0, và các từ mã tương ứng là 1012. Một số từ mã khác được
cho trong bảng sau:
Chữ số kiểm tra Chữ số thông tin
1
x
2
x
3
x x
4

1 2 0 1
2 1 0 2
2 2 1 0
1 0 1 2
Các mã được xác định bởi ma trận kiểm tra H trong (4.25) thực sự là
một mã tam phân Hamming chiều dài 4 với hai bit kiểm tra và hai bit thông
tin. Ghi các cột của H như những số trong hệ cơ số 3:
( )
3
01 1 = ( )
3
10 3 = , ( )
3
11 4 = , ( )
3
12 5 = , (4.27)
ta thấy các cột của H thỏa mãn các điều kiện quy định cho một mã s.e.c.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
74
4.7. Các tính chất của p-mã Hamming [n,k]
(1) Mã có chiều dài
( ) ( ) 1 1
m
n p p = ÷ ÷ , m chữ số kiểm tra, kích
thước k n m = ÷ , và chứa
k
p từ mã.
(2) Các cột của ma trận kiểm tra H kích thước m n × là các véc tơ cột
tạo bởi các số cơ sở p với m chữ số đầu tiên, trong đó chữ số đầu tiên khác
không là 1. Những số này được chọn theo chiều tăng của biên độ, nghĩa là:
00..01, 00…010, 00..011, 00…012, …, 00…01(p - 1), 00…0100,…
(4.28)
(3) Các chữ số kiểm tra ở tại các vị trí mà tại đó những cột của H có
các số khác 0 đơn bằng 1.
(4) Mã có khoảng cách tối thiểu 3, sửa được mọi lỗi đơn, và là hoàn hảo.
(5) Để giải mã một p-từ
1 2
... =
n
r rr r nhận được, ta tính các hội chứng
( )
mod s Hr p = . Nếu s = 0 thì coi từ mã r đã được truyền đi. Ngược lại, thì
i
s eh = , trong đó e = 0 và
p
ee , và
i
h là cột thứ i của H. Một lỗi đơn biên
độ e được coi là tại chữ số thứ i, và chữ số được sửa là ÷
i
r e.
Khẳng định mã là hoàn hảo trong (4) cần được chứng minh. Ta phải chỉ
ra rằng mỗi hội chứng khác 0 là bằng e lần một cột nào đó của H, trong đó e ≠
0 và
p
ee .
Bất kì hội chứng khác không s có m phần tử, và có thể được viết trong
dạng chuyển vị
[0, 0, …, 0, s
1
, s
2
, …, s
m – q
], (4.29)
có q số 0, trong đó 0 s < q m và
1
s là số đầu tiên khác 0 của s, với mọi
i p
s e . Để s e = lần một cột của H thì cột của H phải có dạng:
2 3
0, 0, ..., 0,1, , ,...,
m p
c c c
÷
(
¸ ¸
. (4.30)
So sánh mỗi phần tử trong (4.29) với e lần phần tử tương ứng trong
(4.30) cho:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
75
1
, = s e
2 2
= s ec ,
3 3
= s ec , …,
÷ ÷
=
m q m q
s ec . (4.31)
Khi p là số nguyên tố, mỗi phần tử của
p
đều có số nghịch đảo. Nói
riêng,
1 1
1 p
e s
÷ ÷
= e , do đó (4.32) có thể được giải được:
1
2 1 2
÷
= c s s ,
1
3 1 3
÷
= c s s , …,
1
1
÷
÷ ÷
=
m q m q
c s s .
Điều này chỉ ra rằng, (4.30) thực sự biểu diễn cột của H hay mã là
hoàn hảo.
Ví dụ 4.12 Các p-mã Hamming
a) Khi 5 p = và 3 m = , chiều dài của mã được cho bởi tính chất (1) là:
( ) ( )
3
5 1 5 1 = ÷ ÷ n và k = 31 – 3 = 28.
Các số với ba chữ số trong cơ số 5 nhận được từ (4.28) là:
001, 010, 011, 012, 013, 014, 100, 101, 102, 103, 104, 110, 111, 112, 113,
114,120,121,122,123, 124, 130, 131, 132, 133, 134, 140, 141, 142, 143, 144.
Ta có thể kiểm tra rằng trong hệ thập phân 31 số trên tương đương với
các số 1, 2, 7, 9, 25, 26, …, 48, 49, xác nhận rằng những số này đã được sắp
xếp theo thứ tự tăng dần.
Chúng được sử dụng như các cột của ma trận kiểm tra 3x31 tương ứng
với 001, 010, và 100, và có
28 19
5 3.73 10 ~ × từ mã.
b) Khi p = 3, m = 2 mã có chiều dài
( ) ( )
2
3 1 / 3 1 4 = ÷ ÷ = n . Các số
(4.28) được liệt kê trong (4.27), và ma trận kiểm tra H là (4.25).
Giả sử một từ nhận được là r = 1200. Theo (4.24) ta có
1 1
2 0 1 1 1 2 0.1 1.2 1.0 1.0 2 1
2 (mod 5)
0 1 0 1 2 0 1.1 0.2 1.0 2.0 1 2
0 0
s H
( (
( (
+ + +
( ( ( (
( (
= = = = =
( ( ( (
( ( + + +
¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸
( (
¸ ¸ ¸ ¸
.
Hội chứng này gấp 2 lần cột thứ tư của H, bởi vậy, theo tính chất (5) thì
có một lỗi 2 e = ở chữ số thứ tư. Chữ số cần sửa của từ nhận được là
( )
4
2 0 2 1 mod3 ÷ = ÷ = r , do đó từ mã được truyền đi là 1201.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
76
c) Khi p = 5 và m = 2 chiều dài của mã là
( )
( )
2
5 1
6
5 1
n
÷
= =
÷

6 2 4 k = ÷ = .
Những số cơ số 5 trong (4.28) với hai chữ số theo thứ tự tăng dần là:
01, 10, 11, 12, 13, 14. Chuyển những số này thành những cột theo cách thông
thường tạo ra ma trận kiểm tra

0 1 1 1 1 1
1 0 1 2 3 4
(
=
(
¸ ¸
H . (4.32)
Giả sử từ đã nhận được là r = 202123. Sử dụng H trong (4.32), hội
chứng là:
( )
2 2
0 0
2 0 1 1 1 1 1 2 0.2 1.0 1.2 1.1 1.2 1.3 3
mod5
1 1 0 1 2 3 4 1 1.2 0.0 1.2 2.1 3.2 4.3 4
2 2
3 3
s H
( (
( (
( (
( ( + + + + +
( ( (
= = = =
( (
( ( (
+ + + + +
¸ ¸ ¸ ¸ ¸ ¸
( (
( (
( (
( (
¸ ¸ ¸ ¸
.
Dễ dàng thấy rằng
5
1
3 3
3
(
= =
(
¸ ¸
s h . Vì vậy, có một lỗi e = 3 trong chữ số
thứ năm của r, được sửa thành 2 – 3 = 1 ÷ = 4, từ mã được truyền đi là 202143.
d) Khi p =3, m = 3 mã tam phân Hamming có chiều dài
( ) ( )
3
3 1 / 3 1 13 ÷ ÷ = , kích thước k = 13 – 3 = 10. Đổi các số trong (4.28) để
nhận được các cột của ma trận kiểm tra

0 0 0 0 1 1 1 1 1 1 1 1 1
0 1 1 1 0 0 0 1 1 1 2 2 2
1 0 1 2 0 1 2 0 1 2 0 1 2
H
(
(
=
(
(
¸ ¸
.
Các chữ số kiểm tra là
1
x ,
2
x và
5
x , và có
10
3 59.049 = từ mã. Nếu một
từ
1
r =1102112100112 nhận được thì ta có thể kiểm tra rằng s = H
1
r = 0, do
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
77
đó, các từ mã
1
r đã được truyền đi. Nếu một từ khác
2
r = 1000101220120
nhận được, ta có thể tính
2 3
0
1
1
s Hr h
(
(
= =
(
(
¸ ¸
= .
Chữ số thứ ba của
2
r được sửa chữa là 0 1 2 ÷ = , từ mã được truyền đi
là 1020101220120.
§5. Mã thập phân
Một số mã thập phân đã được gặp trên số hiệu hàng hóa châu Âu
(EAN) (ví dụ 2.4), ngân phiếu Mỹ (ví dụ 2.5), mã sách tiêu chuẩn quốc tế
(ISBN). Điểm đặc trưng chung của chúng là các chữ số của từ mã thuộc
{ }
1, 2,...,9 (ngoại trừ các chữ số kiểm tra), mặc dù số học modula rất khác
nhau giữa đồng dư 9 và 10 hoặc 11 tùy theo những mã đặc biệt.
5.1. Mã số sách tiêu chuẩn quốc tế (ISBN)
Mỗi cuốn sách hoặc văn hóa phẩm xuất bản được đồng nhất bởi ISBN
của nó, thí dụ như trong Hình 1.2, ISBN là một mã từ gồm 10 chữ số
1 2 10
... x x x , trong đó
1
x đến
9
x là các chữ số thập phân, nhưng chữ số kiểm tra
10
x có thể nhận thêm giá trị
10
x , được ký hiệu là X (chữ số La Mã có giá trị là
10). Điều này là bởi vì ISBN được xác định với số học môđun 11, để mã được
định nghĩa trên trường hữu hạn
11
. Hàng số ở dưới thấp hơn trong Hình 1.2
là số hiệu hàng hóa châu Âu (EAN) cho sách. Những chữ số đầu tiên của một
ISBN, được gọi là 'nhóm định danh' (Group Identifier), ký hiệu quốc gia, hoặc
nhóm các quốc gia. Ví dụ,
1
0 x = được sử dụng cho tất cả các sách (cho dù là
bằng tiếng Anh hoặc không) được xuất bản tại Hoa Kỳ, Vương quốc Anh,
Canada. Australia và một số nước khác;
1
x = 3 chỉ ra một cuốn sách được
xuất bản bằng tiếng Đức; Đan Mạch có
1 2
x x = 87, và Thụy Điển
1 2
x x =90.
Phần thứ hai của ISBN, được gọi là "nhà xuất bản tiền tố" (Publisher Prefix)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
78
có thể bao gồm hai, ba, bốn, năm, sáu hoặc bảy chữ số. Những chữ này đồng
nhất với nhà xuất bản, ví dụ như những chữ số
2 3
x x =13, là kí hiệu của
Prentice Hall. Phần thứ ba của ISBN có thể dài từ một đến sáu chữ số và là
"Số tiêu đề" (Title Number), đó là số được gán cho những cuốn sách cụ thể
của nhà xuất bản, ví dụ, 053101 trong Hình 1.2. Chiều dài của số tiêu đề phụ
thuộc vào độ dài của các phần trước của ISBN, nhưng Identifier Group,
Publisher Prefix và Title Number luôn có tổng là chín chữ số. Chữ số cuối
10
x
là chữ số kiểm tra, và được chọn sao cho tổng kiểm tra
10
1 2 3 10
1
2 3 ... 10
i
i
S ix x x x x
=
= = + + + +
¿
(5.1)
là một bội số của 11, có nghĩa là,
( ) 0 mod11 S ÷ . (5.2)
Những dấu gạch nối thường được chèn vào giữa những phần khác nhau
của ISBN, nhưng không có ý nghĩa toán học.
Đặt tổng (5.1) bằng không, và sử dụng -10 ≡ 1(mod 11) ta đi đến biểu diễn
( )
9
10
1
mod11
i
i
x ix
=
=
¿
. (5.3)
Điều này cho phép tính chữ số kiểm tra theo chín chữ số đầu tiên của
ISBN. Dễ dàng thấy rằng nếu tổng bên phải của (5.3) là số thập phân có ba
chữ số abc thì (5.3) được rút gọn thành
( )( )
10
mod11 = ÷ + x a b c . (5.4)
Tương tự, nếu trong (5.1) S=( )
1 2 3
10
s s s , thì (5.2) tương đương với
1 2 3
s s s ÷ + ≡0 (mod 11). Tất nhiên, dễ dàng để tính toán tổng trong (5.1) và
(5.3) bằng cách sử dụng máy tính. Tuy nhiên, ISBN được đưa vào sử dụng
khoảng năm 1968, trước khi có các máy tính giá rẻ, do đó, người ta đã tạo ra
một bảng sử dụng rất đơn giản cho các thủ thư. Bảng này chỉ cần làm các
phép cộng mà không cần phép nhân nào. Điều kiện (5.2) được kiểm tra những
quy tắc dưới đây:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
79
(1) Xây dựng một mảng với ba hàng và mười cột. Các mục trong dòng
đầu tiên là
1 2 10
, ,..., x x x , và trong cột đầu tiên là
1 1 1
, , x x x .
(2) Nếu các số trong một cột là
1 2 3
, , a a a thì các số
2 3
, b b trong cột bên
cạnh bên phải được tính theo các mũi tên sau.
Hàng đầu
1
a
1
b

2
a
2
b =
2
a +
1
b

3
a
3
b =
3
a +
2
b
(3) Điều kiện (5.2) tương đương với chữ số cuối cùng trong dòng dưới
cùng của bảng là 0(mod 11).
Để kiểm tra (3), ta xây dựng bảng như sau:

1
x
2
x
3
x
4
x …
10
x

1
x (
1
x +
2
x ) (
1
x +
2
x +
3
x ) (
1
x +
2
x +
3
x +
4
x ) …
1
T

1
x (2
1
x +
2
x ) (3
1
x + 2
2
x +
3
x ) (4
1
x +3
2
x +2
3
x +
4
x ) …
2
T
Ta có thể kiểm tra rằng
1 1 2 3 10
... = + + + + T x x x x , và số cuối cùng trong
dòng dưới cùng là
2 1 2 3 9 10
10 9 8 ... 2 = + + + + + T x x x x x .
Hơn nữa, ta dễ dàng thấy rằng
2
T + S = 11
1
T , trong đó S là tổng trong
(5.2), do đó,
2
T ≡ 0(mod 11) khi và chỉ khi S ≡ 0(mod 11).
Việc áp dụng các quy tắc (2) có thể làm đơn giản bằng cách thực hiện
từng phép cộng riêng lẻ theo môđun 11 trong quá trình xây dựng mảng.
Ví dụ 5.1 (Kiểm tra một ISBN)
Xét ISBN 3880531013 như trong Hình 1.2. Tổng kiểm tra S trong
(5.2) là:
3880531013 1 3 2 8 3 8 4 0
5 5 6 3 7 1 8 0 9 1 10 3
3 5 2 3 7 7 9 8(mod11) 0(mod11).
= × + × + × + ×
+ × + × + × + × + × + ×
÷ + + + + + + + ÷

Thỏa mãn điều kiện đúng của ISBN.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
80

Hình 1.2
Sử dụng những quy tắc (1) và (2), mảng được cấu tạo như sau.
3 8 8 0 5 3 1 0 1 3 ISBN
3 11 19 19 24 27 28 28 29 32
3 14 33 52 76 103 131 159 188 220
Số cuối cùng của dòng dưới cùng là 220 đồng dư với 0 (mod 11).
Phiên bản đơn giản hơn của bảng này sử dụng phép cộng theo môđun 11
trong suốt quá trình. Ví dụ, các mục trong cột thứ hai giảm thành 8 3 0 + = ,
( )
3 0 3 mod11 + = . Bảng đơn giản hơn bảng trên sẽ là:
3 8 8 0 5 3 1 0 1 3 ISBN
3 0 8 8 2 5 6 6 7 10
3 3 0 8 10 4 10 5 1 11 (5.4)
Và số cuối cùng là 11 đồng dư với 0 (mod 11), đúng như trên.
Qui trình này cũng cho phép ta dễ dàng tìm được chữ số kiểm tra nếu
biết các giá trị của
1
x đến
9
x . Trong ví dụ này, giả sử
10
x chưa được biết. Hai
cột cuối của mảng sẽ là:
1
10
x
7
10
x + 7
1
10
x +8
Và đòi hỏi
10
x + 8 ≡ 0(mod 11) cho giá trị
10
x =3.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
81
Ví dụ 5.2 (Sửa ISBN)
Giả sử rằng chữ số thứ sáu (bằng 3) trong ISBN ở ví dụ 5.1 đã vô tình
bị mất, do đó, ISBN có dạng 38805 1013 x . Hoặc là tính S từ (5.2), hoặc sử
dụng các mảng đơn giản (5.4). Năm cột đầu tiên (5.4) hoàn toàn như trước,
nhưng phần còn lại của mảng đó bây giờ là
5 x 1 0 1 3
2 x+2 x+3 x+3 x+4 x+7
10 x+1 2x+4 3x+7 4x 5x+7
trong đó các tổng đã được lấy đồng dư theo mod 11. Yêu cầu số cuối cùng ở
dòng dưới là

( )
5 7 0 mod11 x + ÷ . (5.5)
Lời giải là

( )
5 7 4 mod11 x ÷ ÷ ÷ .
Bởi vậy

1
5 4 9 4 36 3 x
÷
= × = × = ÷ .
Đó chính là giá trị của các chữ số bị mất. Chú ý rằng do 11 là số
nguyên tố nên tồn tại phần tử nghịch đảo trong
11
. Ngoài ra, ta có thể giải
(5.5) chỉ đơn giản bằng cách thử x =1, 2, 3 cho đến khi nhận được giá trị
đúng là 3 x = . Phương trình (5.5) trong
11
cho nghiệm duy nhất.
Giả sử nhận được số thập phân gồm 10 chữ số thập phân và phát hiện
ra nó không có trong ISBN. Nếu không biết những chữ số nào lỗi thì có thể đã
được truyền đi nhiều ISBN. Thậm chí giả thiết thông thường thích hợp nhất là
chỉ có một lỗi đơn trong một chữ số, thì cũng không đủ để sửa một lỗi như
vậy. Tuy nhiên, mã ISBN phát hiện mọi lỗi trong đó hai chữ số (thông
thường, nhưng không phải nhất thiết, liền kề) ngẫu nhiên bị đổi chỗ. Để thấy
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
82
điều này, giả sử một ISBN đúng
1 2 10
... x x x đã được truyền đi, và từ nhận được

j
x và
k
x bị đổi chỗ, với < j k và
j
x =
k
x (nếu
j
x =
k
x thì không có lỗi).
Cho từ nhận được ta có tổng kiểm tra S trong (5.2) chứa các số hạng j
k
x +k
j
x
thay vì j
j
x + k
k
x . Dễ dàng thấy rằng tổng kiểm tra sai khác là (
j
x -
k
x )(k - j) và
tích này không thể đồng dư với 0 (mod 11) vì mỗi số hạng đều khác không.
Do đó tổng kiểm tra cho từ nhận được không đồng dư với 0 (mod 11), vì vậy
lỗi được phát hiện. Nếu như biết hai chữ số liền kề đã được đổi chỗ thì lỗi này
có thể sửa được.
5.2. Mã sửa lỗi đơn
Mã ISBN hiện nay đã được cải tiến để sửa lỗi đơn. Mã này bao gồm
các từ mã có 10 chữ số
1 2 10
, ,..., x x x thỏa mãn với các phương trình kiểm tra
trong (5.1) như mã ISBN, cụ thể là
( )
10
1
1
0 mod11
i
i
S ix
=
÷ ÷
¿
(5.6)
bổ xung thêm một phương trình kiểm tra tính chẵn lẻ
( )
10
2
1
0 mod11
i
i
S x
=
÷ ÷
¿
. (5.7)
Vì có hai phương trình kiểm tra nên bây giờ có hai chữ số kiểm tra
9
x

10
x . Những phương trình kiểm tra này xác định một 11-mã, nhưng bỏ qua
mọi từ mã chứa chữ số X (=10), mã kết quả chỉ còn chứa các chữ số thập
phân đúng (các chữ số 1, 2, ..., 9).
Giả sử một lỗi đơn e xảy ra ở vị trí thứ i của một từ mã đã được truyền
đi, khi ấy từ nhận được r có
i
r =
i
x +e. Như đối với mã ISBN, với từ r nhận
được tổng kiểm tra (5.6) có một số hạng bổ xung ie, vì vậy
( )
1
mod11 S ie ÷ . (5.8)
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
83
Tổng kiểm tra thứ hai (5.7) trở thành
2
S ≡ e (mod 11). Vì thế biên độ
của lỗi này là e ≡
2
S (mod 11), và từ (5.8) vị trí của lỗi này là:

( ) ( )
1 1
1 1 2
mod11 mod11 i S e S S
÷ ÷
÷ ÷ .
Thuật toán giải mã cho mã này là như sau, trong đó tất cả các phép toán
đã được lấy đồng dư theo mod 11:
(1) Với từ nhận được r, tính hội chứng
2
1
S
Hr
S
(
=
(
¸ ¸
với

1 1 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9 10
H
(
=
(
¸ ¸
. (5.9)
(2) Nếu
1
S = 0,
2
S = 0 thì không có lỗi, và từ mã r đã được truyền đi.
(3) Nếu
1
S = 0 và
2
S = 0 thì giả thiết một lỗi duy nhất xảy ra tại chữ
số i=
1
S
1
2
÷
S , và chữ số chính xác là
i
r -
2
S .
(4) Nếu
1
S =0 hoặc
2
S = 0 (nhưng không cả hai) thì ít nhất hai lỗi đã
được phát hiện.
Thật ra (4) luôn xẩy ra khi hai chữ số được đổi chỗ, nhưng khác với
ISBN, mã này có thể phát hiện tất cả các lỗi xẩy ra trên hai chữ số. Điều này
là vì mã có khoảng cách tối thiểu là 3. Cách dễ nhất để chứng minh điều này
là chú ý rằng các ma trận kiểm tra trong (5.9) chính là ma trận kiểm tra cho
11- mã Hamming
0 1 1 1 1 1 1 1 1 1 1 1
1 0 1 2 3 4 5 6 7 8 9 10
H
(
=
(
¸ ¸
,
nhưng bỏ đi hai cột đầu tiên. Điều này không làm thay đổi khoảng cách tối
thiểu, đều là 3 cho các p- mã Hamming.
Ví dụ 5.3 (Các ứng dụng của lược đồ giải mã)
(a) Với một từ được 0206211909 dễ dàng để tính được bằng cách sử
dụng (5.6) và (5.7) là
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
84

( )
1
213 4 mod11 S = ÷ ,
( )
2
30 8 mod11 = ÷ S .
Do đó theo bước (3) ở trên, một lỗi duy nhất đã xảy ra ở vị trí thứ i, với

( )
1
4 8 4 7 28 6 mod11 i
÷
= × = × = ÷ .
Vì vậy chữ số thứ sáu của từ nhận được được sửa lại là
6
8 1 8 7 r ÷ = ÷ = ÷ ÷4(mod 11), do đó, từ mã được truyền là 0206241909.
(b) Với từ nhận được 5764013052 ta kiểm tra
1
S ≡1 và
2
S ≡0(mod 11).
Theo bước (4) có ít nhất hai lỗi trong từ nhận được, và yêu cầu truyền tin lại.
5.3. Mã sửa lỗi kép
Các mã được trình bày ở trên có khả năng, trong trường hợp tốt nhất,
sửa được các các lỗi đơn. Bây giờ ta có thể mô tả mã sửa được tất cả các lỗi
kép, nghĩa là, những lỗi trong hai chữ số của một từ mã.
Ta bắt đầu với mã s.e.c và chọn những từ mã thỏa mãn ngoài (5.6) và
(5.7) còn thêm hai phương trình kiểm tra
( )
10
2
3
1
0 mod 11
=
= ÷
¿
i
i
S i x v à ( )
10
3
4
1
0 mod 11
=
= ÷
¿
i
i
S i x . (5.10)
Bây giờ có bốn chữ số kiểm tra
7
x ,
8
x ,
9
x ,
10
x . Giả sử một từ mã
1 2 10
... x x x đã được truyền và hai lỗi xảy ra ở các vị trí thứ i và thứ j với biên độ
1
e và
2
e tương ứng, khi ấy từ r nhận được có
i
r =
i
x +
1
e ,
j
r =
j
x +
2
e . Từ các
biểu diễn của tổng kiểm tra suy ra rằng trong trường hợp này:
1 1 2 2 1 2
2 2 3 3
3 1 2 4 1 2
, ,
, .
S ie je S e e
S i e j e S i e j e
= + = +
¹
`
= + = +
)
. (5.11)
Bốn phương trình trong (5.11) sẽ giải được đối với bốn ẩn số i, j,
1
e ,
2
e .
Một số tính toán đại số thích hợp dẫn đến kết quả là i và j (các vị trí của lỗi)
là hai nghiệm của phương trình bậc hai:
a
2
x + bx + c = 0, (5.12)
trong đó:
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
85
2
1 2 3
= ÷ a S S S ,
2 4 1 3
= ÷ b S S S S ,
2
3 1 4
= ÷ c S S S . (5.13)
Khi i và j đã được tìm thấy, thì rất dễ dàng giải hai phương trình đầu
tiên trong (5.11) để được

( )( )
1
2 2 1
÷
= ÷ ÷ e iS S i j ,
1 2 2
= ÷ e S e . (5.14)
Lưu ý là nếu chỉ một lỗi xảy ra, thí dụ , với e
1
≠ 0, e
2
≠ 0 thì trong (5.11)
S
1
=ie
1
, S
2
= e
1
, S
3
= i
2
e
1
, S
4
= i
3
e
1
, và thay thế các giá trị này vào (5.13) ta
được a = 0, b = 0, c = 0.
Nghiệm của phương trình bậc hai (5.12) có dạng

2
4
,
2
b b ac
i j
a
÷ ± ÷
= . (5.15)
Các căn bậc hai của phần tử q (nếu chúng tồn tại) trong
11
được cho bởi:
1 3 4 5 9
1 hoăc10 5 hoăc 6 2 hoăc 9 4 hoăc 7 3 hoăc8
q
q
¹
¦
`
¦
)
. (5.16)
Thuật toán giải mã cho mã này như sau, trong đó tất cả các tính toán
số học được lấy theo môđun 11:
(1) Với một từ r nhận được, tính hội chứng
2
1
3
4
.
S
S
S H r
S
S
(
(
(
= =
(
(
(
¸ ¸
, trong đó

2 2 2 2
3 3 3 3
1 1 1 1 ... 1
1 2 3 4 ... 10
1 2 3 4 ... 10
1 2 3 4 ... 10
(
(
(
=
(
(
¸ ¸
H . (5.17)
(2) Nếu S = 0 (có nghĩa là, S
1
= S
2
= S
3
= S
4
= 0) thì giả thiết không có
lỗi, và từ mã r đã được truyền đi.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
86
(3) Nếu S ≠ 0 và a = b = c = 0, thì có một lỗi đơn xảy ra tại chữ số
i=
1
1 2
÷
S S , và chữ số được sửa là r
i
– S
2
.
(4) Nếu S ≠ 0 và a ≠ 0, c ≠ 0, và q = b
2
– 4ac có một giá trị căn bậc
hai trong
11
theo (5.16), khi đó giả thiết là có lỗi ở các vị trí thứ i, j cho bởi
(5.15). Các chữ số này được sửa là r
i
– e
1
, r
j
– e
2
, trong đó e
1
và e
2
được cho
bởi (5.14).
(5) Nếu các điều kiện (2), (3) hoặc (4) không thỏa mãn, thì có ít nhất ba
lỗi đã được phát hiện. Từ (5.16) ta thấy rằng điều này bao gồm cả các trường
hợp (4) khi q nhận một trong giá trị 2, 6, 7, 8, bởi vì các số này không có căn
bậc hai trong
11
.
Có thể chỉ ra rằng mã có khoảng cách tối thiểu là 5, do đó, theo Định lý
trong §3, mã này sửa được tất cả các lỗi kép.
Ví dụ 5.4 (Ứng dụng của thuật toán giải mã)
(a) Giả sử một từ được nhận là 3254571396. Các tổng S
1
, S
2
, S
3
và S
4
trong (5.6), (5.7) và (5.8) được tính toán với số học môđun 11. Để thuận tiện
cho việc tính toán ta đưa ra bảng sau:
i
x
3 2 5 4 5 7 1 3 9 6
i 1 2 3 4 5 6 7 8 9 10
2
i 1 4 9 5 3 3 5 9 4 1
3
i 1 8 5 9 4 7 2 6 3 10
Trước tiên,
2
1 = =
¿
i
S x , và lấy tích theo môđun 11 của dòng đầu tiên
của bảng với các hàng tiếp theo ta được:
1
1 3 2 2 3 5 4 4 5 5 6 7 7 1 8 3 9 9 10 6 2 S = × + × + × + × + × + × + × + × + × + × =
Và tương tự

2
3
10 = =
¿
i
S i x ;
3
4
3 = =
¿
i
S i x .
Từ (5.13) ta có
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
87
a = 4 – 1×10 = - 6 = 5; b = 1×3 – 2×10 = - 17 = 5; c = 100 – 2×3 = 6.
Vì vậy, đại lượng q =
2
b - 4ac trong bước (2) là:
Q = 25 – 4×5×6 = - 95 = 4.
Nghĩa là 2 = q trong (5.16). Do đó các điều kiện trong bước (4) của
thuật toán được thỏa mãn. Vậy có hai lỗi đã được truyền đi. Từ (5.15) các lỗi
này xảy ra ở các vị trí
( )
1
, 5 2 10
÷
= ÷ ± i j . Vì
1
10 10
÷
= nên
3 10 30 3 i = ÷ × = ÷ = ; 7 10 7 j = ÷ × = .
Biên độ của các lỗi tính được từ (5.14) là ( )( )
1
1
2
3 1 2 3 7 7 8 e
÷
÷
= × ÷ ÷ = = và
1
e = 1 - 8 = 4. Do đó các giá trị chính xác của các chữ số thứ ba và thứ bảy là
3
r - 4 = 5 - 4 = 1 và
7
r - 8 = 1 - 8 = - 7 = 4.
Từ nhận được khi ấy được giải mã là 3214574396.
Nhận xét rằng sử dụng giá trị 4 9 = trong (5.16) ta được
( ) ( )
1
, 5 9 10 5 9 10 30;40 3;7 i j
÷
= ÷ ± = ÷ ± = ÷ =
như trên khi chọn giá trị 4 2 = .
Cũng chú ý rằng điều kiện c ≠ 0 trong Bước (4) là cần thiết cho việc
sửa chữa hai lỗi, vì nếu c = 0 thì (5.12) có một nghiệm i = 0, vô lí.
(b) Giả sử một từ được nhận là 4063101012. Lặp lại những tính toán
trên cho
1
9 = S ,
2
S = 7,
3
S = 10,
4
S = 2 và a = 0, b = 1, c = 5. Bởi vì a = 0 nên
từ Bước (5) của thuật toán suy ra có ít nhất ba lỗi được phát hiện và yêu cầu
truyền tin lại.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
88
KẾT LUẬN
Dựa trên cơ sở của lý thuyết đồng dư và trường hữu hạn, luận văn có
mục đích tìm hiểu và trình bày những kiến thức, những kết quả cơ bản, sơ
đẳng nhất của lý thuyết mã sửa sai. Ứng dụng lý thuyết số nói riêng, công cụ
toán học nói chung (đại số tuyến tính, hệ đếm,…) cho phép nhận được nhiều
kết quả quan trọng trong mã sửa sai, cũng như trong lý thuyết mật mã. Điều
này có thể xem thêm trong các tài liệu tham khảo [1], [6], [7],...
Qua đây ta cũng thấy rằng, nhiều thành tựu toán học tưởng chừng như
chỉ có ý nghĩa về lý thuyết, lại mang đến những ứng dụng quan trọng và bất
ngờ trong thực tế. Nhiều kiến thức toán học tưởng chừng như sơ cấp (được
giảng dạy trong trường phổ thông, thậm chí cấp Trung học cơ sở), nhưng có
thể giảng dạy trong mối liên kết với những thành tựu ứng dụng mới trong tin
học và đời sống. Hơn nữa, học sinh phổ thông hoàn toàn có đủ khả năng tiếp
thu những kiến thức mới có nhiều ứng dụng này (hệ đếm, mã sửa sai, lý
thuyết mật mã, lý thuyết đồ thị, toán rời rạc,…). Hy vọng rằng chương trình
toán sơ cấp sẽ được bổ xung những mảng kiến thức toán này.
www.VNMATH.com

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn
89
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phạm Huy Điển, Hà Huy Khoái, Mã hóa thông tin: Cơ sở toán học và ứng
dụng, Nhà xuất bản Đại học Quốc gia, Hà Nội, 2004.
[2] Nguyễn Hữu Hoan, Lý thuyết số, Nhà xuất bản Đại học Sư phạm, Hà Nội,
2007.
[3] Bùi Doãn Khanh, Nguyễn Đình Thúc, Mã hóa thông tin, Lý thuyết & ứng
dụng, Nhà xuất bản Lao động Xã hội, Thành phố Hồ Chí Minh, 2004.
[4] Hà Huy Khoái, Nhập môn Số học thuật toán, Nhà xuất bản Khoa học, Hà
Nội, 1996.
[5] Hà Huy Khoái, Phạm Huy Điển, Số học thuật toán: Cơ sở lý thuyết và
Tính toán thực hành, Nhà xuất bản Đại học Quốc Gia, Hà Nội, 2003.
Tiếng Anh
[6] Stephen Barnett, Discrete Mathematics: Numbers and Beyond, Addison
Wesley Longman, Singapore, 1998.
[7] Sebastià Xambó-Descamps, Block Error-Correcting Codes, A
Computational Primer, Springer-Verlag, 2000.
[8] Một số trang WEB và tạp chí Toán.



www.VNMATH.com

www.VNMATH.com

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC
––––––––––––––––––

NGUYỄN TRỌNG NAM

LÝ THUYẾT ĐỒNG DƢ VÀ ỨNG DỤNG TRONG MÃ SỬA SAI

Chuyên ngành: TOÁN SƠ CẤP Mã số: 60.46.40

LUẬN VĂN THẠC SĨ TOÁN HỌC

Ngƣời hƣớng dẫn khoa học: PGS.TS TẠ DUY PHƢỢNG

THÁI NGUYÊN - 2009

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

www.VNMATH.com

MỤC LỤC
LỜI NÓI ĐẦU .............................................................................................. 1 Chƣơng 1: LÝ THUYẾT ĐỒNG DƢ .......................................................... 3 § 1. Quan hệ đồng dƣ ................................................................................... 3 1.1. Định nghĩa đồng dư ................................................................................. 3 1.2. Các tính chất của quan hệ đồng dư .......................................................... 4 § 2. Thặng dƣ ................................................................................................ 7 2.1. Tập các lớp thặng dư ............................................................................... 7 2.2. Các tính chất của lớp thặng dư................................................................. 7 2.3. Tập các lớp thặng dư nguyên tố với môđun ............................................. 9 2.4. Vành các lớp thặng dư ............................................................................. 9 § 3. Hệ thặng dƣ đầy đủ - Hệ thặng dƣ thu gọn........................................ 11 3.1. Hệ thặng dư đầy đủ................................................................................ 11 3.2. Hệ thặng dư thu gọn .............................................................................. 13 3.3. Các định lí quan trọng ........................................................................... 16 § 4. Phƣơng trình đồng dƣ ......................................................................... 17 4.1. Các khái niệm chung ............................................................................. 17 4.2. Phương trình và hệ phương trình đồng dư bậc nhất một ẩn .................... 23 4.2.1. Phương trình đồng dư bậc nhất một ẩn ............................................... 23 4.2.2. Hệ phương trình đồng dư bậc nhất một ẩn .......................................... 26 4.3. Phương trình đồng dư bậc cao theo môđun nguyên tố .......................... 31 4.3.1. Nhận xét ............................................................................................. 31 4.3.2. Phương trình bậc cao theo môđun nguyên tố ...................................... 32 Chƣơng 2: ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƢ TRONG MÃ SỬA SAI ...................................................................................... 36 § 1. Khái niệm mã ....................................................................................... 36 § 2. Những ví dụ về mã ............................................................................... 39
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

............ 82 5.............................. 44 § 3......................k] ............ Mã chẵn lẻ ....................................... Các tính chất của mã nhị phân Hamming [n...... 48 § 4...... Biểu diễn ma trận của các mã nhị phân .........................k] ......................................5.1........3............... Thuật toán hội chứng giải mã cho các mã nhị phân .............. 53 4...................................................................VNMATH...............vn .........1.............................................. Mã sửa lỗi đơn ................................ Mã tuyến tính .........6..... Mã nhị phân tuyến tính .......................... 74 § 5....................................................................................................... Các tính chất của p-mã Hamming [n..................... Mã lặp ......................Lrc-tnu............. 39 2.. Mã nhị phân Hamming .......... Mã số sách tiêu chuẩn quốc tế (ISBN) ..................... Khoảng cách Hamming ......................... Mã thập phân......7.............. 89 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www...............................................2............... 67 4....................................... 53 4.2............................2....edu............ 41 2..............3................ Các p-mã Hamming ............. 71 4.......... 77 5.....................com 2..........................................................3.......................... Mã sửa lỗi kép . 70 4.................................... Mã vạch ..........4.............. 84 KẾT LUẬN .......................................................................www.......................... 88 TÀI LIỆU THAM KHẢO................................................................ 77 5.................... 55 4..............................................................1.................................................................... 65 4.........

người ta thường coi lý thuyết số như một lĩnh vực đẹp. Để xây dựng lý thuyết mã sửa sai.) đặc biệt là số học trên tập số nguyên. thông tin có thể bị sai lệch... chủ yếu dựa theo tài liệu [2]. Vì yêu cầu thực tiễn đó. Một trong những vấn đề cần giải quyết là phát hiện ra các lỗi sai và sửa chúng. toán rời rạc. Chương 1 trình bày các kiến thức cơ bản nhất của lý thuyết đồng dư và lý thuyết trường hữu hạn. Thí dụ. Thường thường thông tin được mã hóa qua dãy các chữ số trong hệ đếm cơ số 2. Luận văn gồm hai chương. Với sự phát triển của khoa học máy tính và công nghệ thông tin. lý thuyết mã sửa sai đã ra đời. trong đó có lý thuyết đồng dư.VNMATH. một tin nhắn được mã hóa trong cơ số 2 khi truyền đi bị sai một lỗi (lỗi đơn) thì điều này có nghĩa là chữ số 1 tại vị trí nào đó đã bị đổi thành chữ số 0 hoặc ngược lại. nhưng thuần túy lý thuyết. đại số tuyến tính. hoặc cơ số p nào đó. Luận văn này có mục đích tìm hiểu và trình bày những kiến thức cơ bản nhất của lý thuyết mã sửa sai trên cơ sở lý thuyết đồng dư và lý thuyết trường hữu hạn..www. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Nhiều khía cạnh khác nhau của mã hóa thông tin được các nhà toán học và tin học quan tâm. vì nhiều lý do. Trong quá trình truyền tin hoặc nhận tin. các nhà toán học và khoa học máy tính đã sử dụng nhiều thành tựu của toán học hiện đại (số học. cơ số 10. Từ trước tới nay.vn . lý thuyết số là một trong những kiến thức toán học lâu đời nhất. có tham khảo thêm các tài liệu [4] và [6]. của toán học.Lrc-tnu. đặc biệt trong lĩnh vực mã hóa thông tin.edu. phát triển và có những ứng dụng thực tiễn quan trọng.com 1 LỜI NÓI ĐẦU Có thể nói. lý thuyết số đã đóng góp những ứng dụng thực tế bất ngờ và quan trọng. số học..

Ngoài ra. Chúng tôi cũng cố gắng tìm hiểu.edu.Lrc-tnu. Luận văn được hoàn thành dưới sự hướng dẫn khoa học của PGS TS Tạ Duy Phượng. Xin được tỏ lòng cám ơn chân thành nhất tới Thầy. mã tuyến tính và ma trận kiểm tra. Hà Nội.VNMATH. nơi tác giả đã nhận được một học vấn sau đại học căn bản. có tham khảo thêm các tài liệu [1] và [7]. tuy chưa được đầy đủ... mã sách tiêu chuẩn quốc tế.www. xin cám ơn gia đình.. bạn bè. đồng nghiệp đã cảm thông. Và cuối cùng. phát hiện và sửa lỗi.. ủng hộ và giúp đỡ trong suốt thời gian tác giả học Cao học và viết luận văn. mã hàng hóa. chúng tôi cũng quan tâm đến khía cạnh thực tế của vấn đề: mã vạch. ngày 19 tháng 9 năm 2009 Tác giả Nguyễn Trọng Nam Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. các mã hàng hóa.vn . Nội dung của Chương 2 trình bày chủ yếu dựa theo tài liệu [6]. mã hoàn hảo. mã văn hóa phẩm của Việt Nam và kiểm nghiệm các tiêu chuẩn giải mã cho các ví dụ cụ thể của các mã này. xây dựng mã tuyến tính. Tác giả xin cám ơn chân thành tới Trường Đại học Khoa học Thái Nguyên. các thuật toán giải mã.com 2 Chương 2 trình bày một số vấn đề cơ bản của mã sửa sai: khoảng cách Hamming....

a và b là hai số nguyên. Chứng minh i  ii. r với 0  r  m sao cho a  mq1  r và b  mq2  r . r  . iii  i. Khi ấy tồn tại số t tức là a = b + mt. Gọi r là số dư trong phép chia a cho m. 0  r  m . r  .  Định lý Các mệnh đề sau là tương đương. Định nghĩa Cho m là một số nguyên dương. Ta nói a và b đồng dư với nhau theo môđun m nếu trong phép chia a và b cho m ta được cùng một số dư.vn .1. a – b chia hết cho m (kí hiệu là m  a  b  ). Ta có a ≡ b  mod m   a  mq1  r . Do q1  q2  nên m  a  b . Khi ấy: sao cho a  b  mt . a và b đồng dư với nhau theo môđun m. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. ii  iii. Suy ra a  b  m  q1  q2  . Nếu a không đồng dư với b theo môđun m thì ta viết a  b  mod m  . ta viết a ≡ b  mod m  . Khi a và b đồng dư với nhau theo môđun m. nghĩa là a = m q1 + r với q1 .Lrc-tnu. b  mq2  r với q1 . Quan hệ đồng dƣ 1. iii. Định nghĩa đồng dƣ Kí hiệu là tập hợp các số nguyên.edu. nghĩa là có các số nguyên q1 . q2 . 0  r  m . ii. i. Giả sử có số t  sao cho a = b + mt.www. Tồn tại số nguyên t sao cho a = b+mt.VNMATH. q2 .com 3 Chƣơng 1 LÝ THUYẾT ĐỒNG DƢ §1. Giả sử m  a  b  .

www.VNMATH.com
4

b  mt  a  mq1  r hay b  m  q1  t   r , trong đó q1  t  , 0  r  m .
Chứng tỏ số dư trong phép chia b cho m cũng là r, tức là a  b  mod m . 1.2. Các tính chất của quan hệ đồng dƣ a. Quan hệ đồng dư là một quan hệ tương đương trên tập i. Với mọi a  : a ≡ a  mod m  ; ii. Với mọi a, b  : a≡ b  mod m  khi và chỉ khi b ≡ a  mod m  ; iii. Với mọi a, b, c  : a  b  mod m , b  c  mod m suy ra :

a  c  mod m  .
Chứng minh i. Vì a  a chia hết cho m nên a  a  mod m . ii. Từ a  b  mod m ta có m  a  b  . Do đó m  b  a   b ≡ a  mod m  . iii. Ta có a ≡ b  mod m  và b ≡ c  mod m  nên m  a  b  và m  b  c  . Khi đó m   a  b    b  c   hay m  a  c  . Vậy a ≡ c  mod m  . b. Ta có thể cộng hoặc trừ từng vế của nhiều đồng dư thức theo cùng một môđun. Cụ thể là, nếu a1  b1  mod m và a2  b2  mod m thì ta có:

a1  a2  b1  b2  mod m .
Chứng minh Từ a1  b1  mod m , a2  b2  mod m suy ra tồn tại t1 , t2  Vậy a1  a2  b1  b2  mod m . c. Ta có thể nhân từng vế của nhiều đồng dư thức theo cùng một môđun. Cụ thể là, nếu a1  b1  mod m , a2  b2  mod m thì a1a2  bb2  mod m  . 1 Chứng minh sao cho

a1  b1  mt1 , a2  b2  mt2 . Do đó a1  a2  b1  b2  m t1  t2  với t1  t2  .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

www.VNMATH.com
5 Từ a1  b1  mod m , a2  b2  mod m suy ra tồn tại t1 , t2 

sao cho

a1  b1  mt1 , a2  b2  mt2 .
Do đó a1a2  bb2  m b2t1  bt2  mt1t2  , b2t1  bt2  mt1t2  . 1 1 1 Vậy a1a2  bb2 chia hết cho m hay a1a2  bb2  mod m  . 1 1 d. Hệ quả 1. a ≡ b  mod m  khi và chỉ khi a ± c ≡ b ± c  mod m  . Thật vậy, ta có a ≡ b  mod m  và c≡c  mod m  . Vậy a± c ≡ b ± c  mod m  . 2. a + c ≡ b  mod m  khi và chỉ khi a   b  c  mod m . Thật vậy, ta có a ≡ b  mod m  , c ≡ c  mod m  . Vậy a   b  c  mod m . 3. a  b  mod m khi và chỉ khi a ± km ≡ b  mod m  với mọi k  . Thật vậy, a ≡ b  mod m  , km ≡ 0  mod m  . Vậy a ± km ≡ b  mod m  . 4. a  b  mod m khi và chỉ khi ac ≡ bc  mod m  . Ta có a  b  mod m , c  c  mod m . Vậy ac  bc  mod m . 5. a  b  mod m  a n  b n  mod m  n  , n > 0. Ta có a  b  mod m ; a  b  mod m  ; ...; a  b  mod m  Suy ra a n  bn  mod m  . 6. Giả sử f(x) là một đa thức với hệ số nguyên và     mod m . Khi ấy f(α) ≡ f(β)  mod m  Đặc biệt, nếu f(α) ≡ 0  mod m  thì f(α + km) ≡ 0  mod m  với mọi k  . Chứng minh

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

www.VNMATH.com
6 Thật vậy, giả sử f(x) = a0  a1 x  ...  an xn . Từ giả thiết α ≡ β  mod m  suy ra ai i  ai  i  mod m  , i = 1, 2,...., n. Do đó + ... + nghĩa là f(α) ≡ f(β)  mod m  . Đặc biệt, vì     km mod m k  nên f(α)≡ f(α + km)  mod m  . ≡ + ... +

 mod m ,

Nhưng f(α) ≡ 0  mod m  nên ta có f(α + km) ≡0  mod m  với mọi k  . e. Ta có thể chia hai vế của một đồng dư thức cho một ước chung của chúng nguyên tố với môđun m: ac ≡ bc  mod m  và UCLN  c, m   1  a ≡ b  mod m  . Chứng minh Ta có ac ≡ bc  mod m   m (ac - bc) hay m|c(a - b). Nhưng  m, c   1 nên ta có m  a  b   a ≡ b  mod m  . f. Có thể chia hai vế và môđun của một đồng dư thức cho một ước chung dương của chúng:

a  b  mod m , 0    ,  UCLN  a, b, m  
Chứng minh

a

b m  mod  .  

Từ giả thiết δ|(a, b, m), ta đặt a = δ a1 , b = δ b1 , m = δ m1 với a1 , b1 ,

m1  , m1  0 . Mặt khác, a ≡ b  mod m   a = b + mt, t . Ta có:

 a1   b1   m1  a1  b1  m1t  a1  b1  mod m1  hay

a

b m  mod  .  

g. Nếu hai số đồng dư với nhau theo một môđun thì chúng cũng đồng dư theo môđun là ước của môđun ấy: a ≡ b  mod m  , δ|m, δ > 0  a ≡ b  mod m  . Chứng minh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.edu.vn

được gọi là một lớp thặng dư môđun m.2. Phần tử a được gọi là đại diện của lớp thặng dư A và cũng được gọi là một thặng dư môđun m.edu. mà δ|m  δ|(a . Nếu hai số đồng dư với nhau theo nhiều môđun thì chúng đồng dư với nhau theo môđun là bội chung nhỏ nhất của các môđun ấy: a ≡ b(mod mi ). Như vậy.vn .www. Khi ấy A   x  : x  a  mod m  . các số nguyên a và b cùng thuộc lớp tương đương A nếu chúng đồng dư với có thể được phân thành các lớp theo quan hệ tương đương. 2.VNMATH. mk ). Nhiều khi ta cũng viết A  a   x  : x  a  mod m  để thể hiện a là đại diện cho lớp thặng dư A  a .com 7 Từ a ≡ b  mod m   m|(a . m) = UCLN(b.b). k  a≡ b  mod m  với m  BCNN( m1 . trên quan hệ tương đương.b)  a ≡ b(mod δ). m Giả sử A và a  A . quan hệ đồng dư là quan hệ tương đương trong tập trong tập số nguyên nhau. Định nghĩa Tập thương của tập hợp số nguyên Mỗi phần tử A của trên quan hệ đồng dư theo môđun m ... Tập các lớp thặng dƣ Cho m là số nguyên dương. m2 . Các tính chất của lớp thặng dƣ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www... Thặng dƣ 2. m). Ta nói. tồn tại tập thương m được gọi là tập hợp các lớp thặng dư môđun m. Nếu hai số đồng dư với nhau theo một môđun thì chúng có cùng UCLN với môđun ấy: a ≡ b  mod m  thì UCLN(a.1. Từ định nghĩa. hai lớp thặng dư môđun m hoặc bằng nhau hoặc không giao nhau và m là hợp của tất cả các lớp thặng dư môđun m rời nhau. i  1. Theo tính chất của đồng dư thức. i.Lrc-tnu.…. §2. Ta có Nói cách khác. h. kí hiệu là m .

.. Trước hết. giả sử x  A  a  mod m  . nghĩa là i  j  mod m  hay i  j  mod m .Lrc-tnu. ... Ta có x  a  mod m nên x  a  mt . i. j  m  1 thì 0  i  j  m  1 nên i  j  0 . t  .edu. 0  i  k  1 ). Ta có A = i 0 Ai . Ta sẽ chứng minh chúng gồm: m lớp phân biệt của trong m lớp đã nêu.com 8 Tính chất 1 Tập m có m phần tử.. và x  mq  i . Do đó Ai  Aj   k 1 . giả sử t = kq + i (q. 1.VNMATH. m  1 .. . . q  . . . với i ≠ j. Ta có: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 1.. Thật vậy. Ak 1 = a   k  1 m  mod km  . . chúng tạo nên một tập con X gồm m phần tử của Giả sử x  m m . Như vậy 0. m  1  X .. . Vậy Tính chất 2 Mỗi lớp phần tử của k > 1. A1 = a  m  mod km ... m  1 có m phần tử. Chứng minh Xét các lớp thặng dư môđun m: 0. 0  i  m  1 thì x  i  mod m  nên x  i ∈ 0...... Chia t cho k. Suy ra Ai  Aj . 1..   Thật vậy. 1. m  1 là m lớp   thặng dư phân biệt. Chứng minh Giả sử A  a  m m   m = X = 0. m  1 . (0 ≤ i.. do đó m m và mỗi lớp x của m phải trùng với một = 0. Ta sẽ chứng minh A là hợp của k phần tử (k > 1) km đôi một không giao nhau của xác định như sau: A0  a  mod km  . 1..www.vn .i Z .   là tập hợp của k phần tử phân biệt của km . với i  j  0  i. j ≤ k-1) ta có 0 <  a  im    a  jm   km nên a + im  a + jm  mod km .

Khi d =1 ta nói lớp thặng dư A là lớp nguyên tố với môđun m. Khi ấy a ≡ b  mod m  nên theo tính chất i. . m   1. của đồng dư thức ta có UCLN(a. Từ đây ta có Định nghĩa Ước chung lớn nhất của một lớp với môđun m là ước chung lớn nhất của một thặng dư tùy ý của lớp đó với môđun m. m = 0. giả sử A m và a.edu.3. a  A . Với A = a  modm  . 2. tức là x A. b A.. m) = d.VNMATH. ta đặt UCLN (A.vn .com 9 k 1 i 0 x  a  mi  mqk   a  mi  mod km  nên x  a  im  Ai  Ngược lại. 1.. m   1 =  A  * m * m UCLN  a. Do đó x ≡ a  mod m  . giả sử x  k 1 i 0 Ai . m).Lrc-tnu.www. Số các phần tử của tập Vì m được kí hiệu là  (m) . Vậy  (m) chính là số các số tự nhiên không vượt quá m 1 và nguyên tố cùng nhau với m. UCLN  a. m) = UCLN (b. Vành các lớp thặng dƣ Phép toán trong m Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.1) sao cho x  Ai . Thật vậy. i 0 2. Ta có: = A m UCLN  A. tức là x  a  mi  mod km nên x ≡ (a + mi)  mod m  . Khi ấy tồn tại số nguyên i (0 ≤ i ≤ k . Tập các lớp thặng dƣ nguyên tố với môđun Nhận xét Tất cả các thặng dư của cùng một lớp thặng dư có cùng ước chung lớn nhất với môđun.. Vậy A  k 1 Ai và ta có điều phải chứng minh. Tập hợp các lớp * m m nguyên tố với môđun được kí hiệu bởi m * m . m  1 .4. m  1 nên   = a  0  a  m  1. m) = d nếu UCLN (a. Ai .

 m  1 a chứa phần tử ab sao cho ab  1  mod m  . m  q  1 . Đặt B = b . m  1. nếu với mọi 0  b  m ta có ab  1 mod m  thì theo nguyên  lý Dirichlet phải có hai phần tử ab1 và ab2 ( 0  b1  b2  m ) cùng có số dư khi chia cho m. Tính chất của phần tử khả nghịch Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.edu. ta định nghĩa phép cộng và phép nhân như sau: m Trong m Giả sử a . nghĩa là A khả nghịch. m1 nguyên sao cho a  qa1 và m  qm1 . ta đặt a b  a  b và a. Phần tử khả nghịch Lớp thặng dư A môđun m là phần tử khả nghịch của vành khi A là lớp nguyên tố với môđun m.B  E  1 mod m  . m   1 thì tồn tại các số q  1 .. Không giảm tổng quát. Nếu A là lớp không nguyên tố với môđun m. Vô lý. Thật vậy.VNMATH.b  1  mod m  . b  ab .Lrc-tnu. Dễ kiểm tra được các phép toán trên là hoàn toàn xác định.. các lớp thặng dư môđun m cùng với phép cộng và phép nhân xác định theo qui tắc trên là một vành giao hoán. Vậy (A. Chứng minh Giả sử A  a là khả nghịch. nghĩa là ab1  ab2  a  b1  b2   km . Nhưng 0  b1  b2  m nên  a. tức là a. tức là (a. giả sử (A.2a. m) = 1.. Nghĩa là tồn tại 0  b  m sao cho ab  1  mod m . m) = 1. a1. tức là  a. Khi ấy ab  qa1b và  ab. b  1 hay AB = E. vô lý.com 10 . Ngược lại. có thể coi 0  a  m  1. khi ấy tồn tại B m m khi và chỉ sao cho A.. b  Định lý Tập hợp m . m) = (a. a.vn . ta có ab  a.www. m) = 1 và A = a . Tập 0.

Hệ quả  (1)  1 và nếu p là số nguyên tố thì ta có thì ta có  (m)  p  1. tức là: m =  AX  B X  m  và * m   AX X  * m . B là những lớp thặng dư của vành X chạy qua tất cả các lớp thặng dư của vành cả các phần tử của m m và A khả nghịch.1.www. §3. m)  1 .edu. hay  (m) = card( Ta biết rằng m * m m ). m  1 . từ đó ta có * m   = n  m 0  n  m  1.vn . Khi m thì AX  B cũng chạy qua tất m và AX cũng chạy qua tất cả các phần tử khả nghịch của .m . khi ấy = n  m * m 1  n  m.. = 0. nghĩa là  (m) là hàm số biểu thị các số tự nhiên khác không.Lrc-tnu. 1.VNMATH.Hệ thặng dƣ thu gọn 3. m một và chỉ một số được gọi là một hệ thặng dư đầy Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. m)  1 ..com 11 Giả sử A.. các lớp thặng Kí hiệu  (m) là số các phần tử khả nghịch của vành dư môđun m. nghĩa là  (m) là hàm số biểu thị các số tự nhiên không lớn hơn m 1 và nguyên tố cùng nhau với m. Hệ thặng dƣ đầy đủ Cho m là một số nguyên dương.(n. không lớn hơn m và nguyên tố với m.(n. 1 n  m ( n .. m ) 1  1 .. Hệ thặng dƣ đầy đủ . m ) 1 * Như vậy ta được  (m)  card( Z m )   1. 2. Tập H gồm nhũng số nguyên lấy ra ở mỗi lớp thặng dư của đủ môđun m. * m Như vậy ta được  (m)  card( ) 0 n  m 1 ( n . . Ta cũng có thể viết m = 1. 2...

. 4. 1.. .. 6. +) Với m là một số chẵn. 2. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.com 12 Như vậy: Tập hợp H gồm những số nguyên là một hệ thặng dư đầy đủ môđun m khi và chỉ khi: . Còn hệ   3. 2. nó được gọi là hệ thặng dư đầy đủ không âm nhỏ nhất.. Mỗi một số nguyên của H được gọi là một thặng dư.. 1.. . m . +) Với m là một số lẻ..Mỗi số nguyên đều đồng dư theo môđun m với một số nào đó thuộc H. 5..  2 2   2 là một hệ thặng dư đầy đủ môđun m được gọi là hệ thặng dư đầy đủ giá trị tuyệt đối nhỏ nhất..vn . Tổng quát +) H ={0.  hay H = 2 2  2 Tính chất 1 m m  m   1. 3  là một hệ thặng dư môđun 8. 2. 1..Các phần tử của H đôi một không đồng dư với nhau theo môđun m. m có m phần tử. hệ này được gọi là hệ thặng dư đầy đủ giá trị tuyệt đối nhỏ nhất.VNMATH.  1. Chứng minh Hiển nhiên vì tập Tính chất 2 Mỗi hệ gồm m số nguyên đôi một không đồng dư với nhau theo môđun m đều là một hệ thặng dư đầy đủ môđun m. 7 là một hệ thặng dư đầy đủ môđun 8. ta có m  m m H =  . ta có m  1  m 1 m 1 H=  ..   2. 1.Lrc-tnu. 3. Mỗi hệ thặng dư đầy đủ môđum m đều gồm m phần tử.edu. Ví dụ với m = 8 ta có: Z8  0....www.  2 2  2 là hệ thặng dư đầy đủ giá trị tuyệt đối nhỏ nhất.   1. 0.1} là một hệ thặng dư đầy đủ môđun m và nó là hệ thặng dư đầy đủ không âm nhỏ nhất. . ..

a2 . a  gồm m phần tử đôi một phân biệt và là tập con của 1 2 m m .. Nhưng vì m có m phần tử và tập con a1 .. Tính chất 3 Giả sử a là một số nguyên tố với m và b là một số nguyên tùy ý.www..VNMATH.  a1 . a2 . 3... ax2  b..2.. x2 . xm  . an  là một hệ thặng dư đầy đủ môđun m. Thật vậy.vn .com 13 Chứng minh Giả sử H  a1 .. an  cũng có m phần tử đôi một phân m biệt nên ta có a1 ... ax2  b. a2 .... Vì a nguyên tố với m nên xi  x j  mod m  ... Khi ấy xét x chạy qua một hệ thặng dư đầy đủ môđun m thì ax  b cũng chạy qua một hệ thặng dư đầy đủ môđun m. a2 .... nếu axi  b  ax j  b  mod m  thì  axi  ax j  mod m  . Khi ấy tập các lớp thặng dư theo môđun m a .. Vô lý vì xi và x j là 2 thặng dư khác nhau của một hệ thặng dư đầy đủ môđun m. a2 . Chứng minh Giả sử x chạy qua một hệ thặng dư môđun m là x1 ..... axm  b cũng là một hệ thặng dư đầy đủ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.. Ta chứng minh ax1  b. an  là một hệ gồm m số nguyên đôi một không đồng dư với nhau theo môđun m.edu. a .. axm  b cũng là một hệ thặng dư đầy đủ môđun m. an   Từ m .. Hệ thặng dƣ thu gọn ax 1  b....... Vậy môđun m. Theo Tính chất 2 ở trên ta chỉ cần chứng minh rằng với 1  i  j  m thì axi  b   ax j  b   mod m  ....Lrc-tnu. an  ta được H  a1 ..

5. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www... .VNMATH. gọn không âm nhỏ nhất và nếu p  2 thì   2   2 là hệ thặng dư thu gọn giá trị tuyệt đối nhỏ nhất. 2. Tính chất của hệ thặng dƣ thu gọn Tính chất 1 Mỗi hệ thặng dư thu gọn môđun m gồm φ(m) phần tử. 0. Tập hợp K gồm những số nguyên được lấy ra ở mỗi lớp nguyên tố với môđun m một và chỉ một số được gọi là một hệ thặng dư thu gọn môđun m. .. .  m  nguyên tố cùng nhau với m.Lrc-tnu. Hệ thặng dư thu gọn không âm nhỏ nhất r1 .. i  1.. 0. Nhận xét Mỗi hệ thặng dư đầy đủ đều chứa duy nhất một hệ thặng dư thu gọn.  2. . r  m   là hệ thặng dư thu gọn gồm các phần tử 0  ri  m. 1..Mỗi số nguyên tùy ý nguyên tố với môđun m đều đồng dư với một số nào đó thuộc K. 1.. Ví dụ Khi m = 8 ta có 1.. Vậy một tập hợp K gồm những số nguyên được gọi là một hệ thặng dư thu gọn môđun m nếu và chỉ nếu: ... p  1 là hệ thặng dư thu p  1  p 1 . Ta có khái niệm hệ thặng dư thu gọn môđun m có trị tuyệt đối nhỏ nhất.Các phần tử thuộc K nguyên tố với môđun m.www.Các phần tử thuộc K đôi một không đồng dư với nhau theo môđun m.. 1.. Nếu m  p là một số nguyên tố thì 1.2. r2 . 2. Hệ 3.  1...edu.. Chứng minh Hiển nhiên vì tập hợp * m có φ(m) phần tử.7 là một hệ thặng dư thu gọn không âm nhỏ nhất.vn .com 14 Cho m là một số nguyên dương. 3. . 3   là một hệ thặng dư thu gọn giá trị tuyệt đối nhỏ nhất. .. .

. a . a2 .. m = 1.. do đó ta có = a1 .. Khi ấy nếu x chạy qua một hệ thặng dư thu gọn môđun m thì ax cũng chạy qua một hệ thặng dư thu gọn môđun m.. a  m nguyên tố với m nên ta có tập hợp a1 ... a2 . Theo tính chất 2 ở trên. a  = Z . x2 .. m) = 1 và UCLN  xi . a  là một hệ thặng   m * m 1 2   m dư thu gọn môđum m. m   1 ta  Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. j    m thì       axi  ax j (mod m)..www...... Thật vậy.... K  a . a2 . a  m   ta được a . Chứng minh Giả sử K  a1 . a  m các lớp theo môđun m là một tập con của phần tử bằng số phần tử của Từ * m * m     gồm   m  phần tử. 2.. (i = 1. a . Tính chất 3 Giả sử a là một số nguyên tố với m. Khi ấy ax1 .. . x  m  môđun m.. ta chỉ cần chứng minh rằng với i  j.vn . Vì a1 .. Giả sử ngược lại.. a  m là một hệ gồm   m  số nguyên nguyên tố với m và đôi một không đồng dư với nhau theo môđun m.. ax  m cũng là một hệ thặng dư thu gọn môđun m. ax2 .. ax1 .Lrc-tnu..edu...com 15 Tính chất 2 Mỗi hệ gồm   m  số nguyên tố với m và đôi một không đồng dư với nhau theo môđun m đều lập nên một hệ thặng dư thu gọn môđun m. 1  i. nghĩa là có số 1 2 * m . Chứng minh Giả sử x chạy qua hệ thặng dư thu gọn x1 . Do UCLN  a...VNMATH.... axi  ax j (mod m).. ax2 ... φ(m)). ax  m là một hệ gồm  (m) số nguyên nguyên tố với m vì UCLN(a.. a2 ....

ax2 .s  m  mod m  . ax  m cũng là một hệ thặng dư thu gọn môđun m. a r . s2 . r ..vn . r . s2 ..s  m . .1) ta được a  m rr2 .VNMATH. (i = 1. Điều này mâu thuẫn với giả thiết với xi ... tập hợp ar . s  1 2   m cùng là hệ thặng dư thu gọn môđun m không âm nhỏ nhất nên ta có rr2 . .. Chứng minh Ta cho x chạy qua hệ thặng dư thu gọn môđun m không âm nhỏ nhất r . . Các định lí quan trọng Định lý Euler Giả sử m là một số tự nhiên lớn hơn 1 và a là một số nguyên tố cùng nhau với m.1) Khi ấy s1 ... …..... x j là hai thặng dư khác nhau của một hệ thặng dư thu gọn.. 1  m Vì  ri . (3. ar  cũng là 1 2   m 1 2   m một hệ thặng dư thu gọn môđun m. s  m là các thặng dư không âm nhỏ nhất tương ứng cùng lớp với ar1 ....1  i    m  và ar1  s1 (mod m)...r  m  s1s2 . ar  m ...r  m  s1s2 . Vì   r . Khi ấy ta có   a  m  1 mod m  .... 1  i. r  . 1 Nhân vế với vế   m  đồng dư thức (3. j    m .3.edu.. . s  m cũng là hệ thặng dư thu gọn môđun m không âm nhỏ nhất. .... ar2  s2 (mod m). a r2 .. 3. tức là 0  si  m. Giả sử s1 .. Khi ấy theo tính chất 3. .. Vậy ax1 .www.. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. nên a    1 mod m  . 2. s . ...Lrc-tnu. r  1 2   m và s . .. φ(m)). m  1 . ar  m  s  m  mod m  ..com 16 có xi  x j (mod m)...

§4.www. Giả sử g  x  và h(x) là nhũng đa thức một biến x với các hệ số nguyên và m là một số tự nhiên lớn hơn 1.1. Khi ấy ta có a p  a  mod p  . Do a  a  mod p  nên nhân hai đồng dư thức ta được a p  a  mod p  . Định lý được chứng minh. Khi ấy ta có: a p1  1 mod p  . Chứng minh Theo giả thiết ta có φ(p) = p  1 và (a. (4. Theo định lý Euler ta có: a p1  1 mod p  .edu. Các khái niệm chung Kí hiệu  x là tập các đa thức một biến với các hệ số nguyên.vn . Chứng minh Nếu a là một số nguyên chia hết cho p thì hiển nhiên a p  a  mod p  . Các phương trình chứa biến (ẩn) x dạng g  x   h  x  (mod m) hay f(x)   g  x  – h  x   (mod m) được gọi là phương trình đồng dư một ẩn. Phƣơng trình đồng dƣ 4.Lrc-tnu. p) = 1.com 17 Định lý Euler được chứng minh.VNMATH. Định lý Fermat Cho p là một số nguyên tố và a là một số nguyên không chia hết cho p.1) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Nếu a không chia hết cho p thì a p1  1 mod p  . Định lý (Dạng khác của định lý Fermat) Cho p là một số nguyên tố và a là một số tùy ý.

f(x)   x .com 18 Nhận xét rằng.edu. phương trình (4. Phƣơng trình đồng dƣ tƣơng đƣơng Cho f(x)   x .. xn ) là một đa thức nhiều biến với hệ số nguyên. xn ) với f ( x1 .1) chỉ là một trường hợp riêng của phương trình đồng dư nhiều ẩn f ( x1 .vn .. Hai phương trình đồng dư g(x)  0(mod m1 ) f(x)  0(mod m2 ) tương đương với nhau nếu như tập hợp các giá trị nghiệm đúng phương trình này bằng tập hợp các giá trị nghiệm đúng phương trình kia. b) Nếu ta thêm hay bớt ở một vế của một phương trình đồng dư theo môđun m một bội của môđun m thì ta được một phương trình mới tương đương c) Xét phương trình đồng dư f ( x)  0(mod m) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www..VNMATH. x2 . x2 . Nếu với x  x0  ta có f( x0 )  0 (mod m) thì ta nói x0 nghiệm đúng phương trình f(x)  0 (mod m) . Định nghĩa Phép biến đổi một phương trình đồng dư thành một phương trình đồng dư khác tương đương với nó được gọi là phép biến đổi tương đương. Giải một phương trình đồng dư là tìm tập hợp các giá trị nghiệm đúng phương trình đồng dư đó. ở đây.Lrc-tnu.. Hiển nhiên hai phương trình đồng dư cùng tương đương với phương trình đồng dư thứ ba thì tương đương với nhau. Các phép biến đổi tƣơng đƣơng thƣờng gặp a) Cộng hay trừ hai vế của một phương trình đồng dư cùng với một đa thức có hệ số là những số nguyên thì được một phương trình mới tương đương.... Giả sử g(x).www. Khi ấy ta viết: g(x)  0(mod m1 )  f(x)  0(mod m2 ). Sau đây ta sẽ nghiên cứu phương trình đồng dư một ẩn..

i = 0. Bậc của phƣơng trình đồng dƣ Xét phương trình đồng dư f(x)  0 (mod m) với f ( x)  a0 x n  a1 x n1  .. Vì 8  0  mod 3 nên bậc của phương trình là n  4 .  an .Lrc-tnu. Phương trình trên tương đương với phương trình 8 x 4  x 2  2  0(mod 3) . Nếu ta nhân các hệ số của f(x) và môđun m với cùng một số nguyên dương thì ta được một phương trình mới tương đương.  Chú ý . Nếu ta chia các hệ số của f(x) cho cùng một ước chung nguyên tố với môđun m thì ta được một phương trình mới tương đương.2) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.com 19 với f ( x)  a0 x n  a1 x n1  .  an .Trong phương trình (4.2). n. …. (4. i = 0.edu.2). nguyên tố với môđun m thì ta được một phương trình mới tương đương.vn .2). Thật vậy. 1. 1.. …. ai  . nếu a0  0(mod m) thì ta có thể bỏ số hạng a0 x n ở phương trình (4. Nếu a0  0(mod m) thì ta nói n là bậc của phương trình đồng dư (4.www. ai  . Nếu ta nhân các hệ số của f(x) với một số nguyên... ta vẫn được một phương trình tương đương với phương trình (4.VNMATH.2) ta có thể giả thiết a0 không chia hết cho m. n. Chia các hệ số của f(x) và môđun m với cùng một ước chung dương của chúng thì được một phương trình mới tương đương với phương trình đã cho.  Ví dụ Cho phương trình: 15 x 6  8 x 4  x 2  6 x  8  0(mod 3) Ta thấy 15  0  mod 3 nên bậc của phương trình không phải là bậc 6.

Giả sử   (mod m) .2) tương đương với phương   trình a0 x n  a1 x n1  . Suy ra  cũng là nghiệm của phương trình (4. theo giả thiết ta có f(  )  0 (mod m) .vn . Theo tính chất của đồng dư thức ta được f (  )  f ( ) (mod m) . an về các số nguyên không âm nhỏ thua m.com 20 .. Do đó để giải phương trình đồng dư ta lần lượt cho x lấy các giá trị trong một hệ thặng dư đầy đủ và tìm các giá trị nghiệm đúng phương trình đó. a1 .VNMATH.www. ta chia a0 cho m ta được: a0  mq  a0 . nghĩa là    (mod m) . 0  a0  m .. a0  .Lrc-tnu.2) ta có thể đưa các hệ số a0 . Khi ấy.Trong phương trình (4.2).2) thì mọi số nguyên thuộc lớp thặng dư  (mod m) đều nghiệm đúng phương trình (4. với a0 chẳng hạn.   q.2) thì ta gọi lớp thặng dư  (mod m) là một nghiệm của phương trình (4. Hệ quả Số nghiệm của một phương trình đồng dư theo môđun m không vượt quá m. Nghiệm của phƣơng trình đồng dƣ Tập các giá trị nghiệm đúng của phương trình f(x)  0 (mod m) thường được phân chia thành những lớp theo môđun m và được gọi là những nghiệm của phương trình đó. phương trình (4..2).. Khi  (mod m) là một nghiệm của phương trình (4.. Định lý Nếu x   là nghiệm đúng phương trình (4. 0  a0  m . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www..2). Chứng minh Thật vậy.edu. Định nghĩa Khi số nguyên  nghiệm đúng phương trình (4.2) thì ta cũng viết x   (mod m) và gọi x là một nghiệm của phương trình (4.  an  0(mod m) .  Thật vậy.2).

3). s được gọi là tương đương nếu tập hợp các giá trị nghiệm đúng hệ phương trình này trùng với tập hợp các giá trị nghiệm đúng hệ phương trình kia. ….4 . …. gi ( x)  0(mod ni ) .. Do đó.vn . i = 1.3.. 2..com 21 Ví dụ Giải phương trình 2 x3  4  0(mod 5) .www. 5 Cho x nhận lần lượt các giá trị hệ thặng dư đầy đủ  0. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Vậy x  2 là nghiệm duy nhất của phương trình đã cho. Do vậy. Hệ phƣơng trình đồng dƣ Cho hệ phương trình  f1 ( x)  0(mod m1 )   f 2 ( x)  0(mod m2 )  .   f ( x)  0(mod m )  r r (4. ….edu. 2. r. r thì ta nói x0 nghiệm đúng hệ phương trình (4.3) Nếu với số nguyên x  x0 ta có r đồng dư thức fi ( x)  0(mod mi ) đúng với mọi i = 1.Lrc-tnu. Giải một hệ phương trình đồng dư là tìm tập hợp các giá trị nghiệm đúng hệ phương trình đồng dư đó. ta thấy: x  2  2 x3  4(mod 5) . 2. việc biến đổi tương đương các hệ phương trình thường đưa về việc biến đổi tương đương từng phương trình. j = 1.1.VNMATH.2. Hệ phƣơng trình tƣơng đƣơng Hai hệ phương trình đồng dư fi ( x)  0(mod mi ) . nếu trong một hệ ta thay thế một số phương trình nào đó bằng những phương trình tương đương thì ta sẽ được một hệ mới tương đương với hệ đã cho.

4). ….5) Chứng minh Thật vậy. pk nên ta cũng có đồng dư thức f ( x1 )  0(mod pi ) .vn .4) 1 f ( x)  0(mod pi ) .com 22 Định lý   Cho m là một số tự nhiên có dạng phân tích tiêu chuẩn m  p1 p2 ... i   Do m  p1 p2 . nói khác đi x0 nghiệm đúng hệ (4. Khi ấy ta có phương trình đồng dư f(x)  0(mod m) tương đương với hệ (4. nghĩa là ta có đồng dư thức f ( x1 )  0(mod pi ) . pk 1 2 k và f(x) là một đa thức với hệ số nguyên.www. 2 i (4.6) thì mọi số nguyên thuộc lớp  (mod m) đều nghiệm đúng hệ phương trình đó. Khi đó vì i = 1.5). i =1...VNMATH.4). nghĩa là f ( x0 )  0(mod m) .... Nghiệm của hệ phƣơng trình đồng dƣ Cho hệ phương trình  f1 ( x)  0(mod m1 )  f ( x)  0(mod m )  2 2  . …. Định lý (4. 1 2 k i tức x1 cũng nghiệm đúng phương trình (4.6) Nếu x   nghiệm đúng hệ phương trình (4. ….   f r ( x)  0(mod mr )  với m là bội chung nhỏ nhất của m1 . giả sử x0 nghiệm đúng phương trình (4. Ngược lại.Lrc-tnu. 2.edu.5). k có pi i i là ước của m nên ta có f ( x0 )  0(mod pi ) .. k. mr .. m2 . 2... i = 1. k. giả sử x1 nghiệm đúng hệ phương trình (4. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 2.

Chứng minh Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.6). m.2. 2. a  0 Trƣờng hợp 1: a  1 Khi a  1 phương trình (4. ….9) Định lý Phương trình (4. Phƣơng trình và hệ phƣơng trình đồng dƣ bậc nhất một ẩn 4. (4. i = 1. r. …. nghĩa là  nghiệm đúng hệ phương trình (4. r. Khi số nguyên  nghiệm đúng hệ phương trình (4. r nên ta có    (mod mi ) .9) có nghiệm thì nó có d nghiệm.edu.VNMATH.6) thì ta gọi lớp thặng dư  (mod m) là nghiệm của hệ phương trình (4. ….8) Từ đồng dư thức (4. Định nghĩa (4. ….8) Trƣờng hợp 2: b  0 Khi b  0 phương trình (4.8) ta có fi ( )  0(mod mi ) .6). 4.www.7) và (4.8) trở thành ax  c (mod m) . i = 1.1.7) Giả sử   (mod m) nghĩa là    (mod m) .Lrc-tnu. Phương trình đồng dư bậc nhất một ẩn ax  b  c (mod m) . i = 1.9) có nghiệm khi và chỉ khi ước chung lớn nhất d của a và m là ước của c. (4.8) trở thành x  b  c (mod m)  x  c (mod m)  b  x   c  b  (mod m)  x  c  b  mt với t là một số nguyên bất kỳ. vì vậy do mi là ước của fi ( )  fi ( )(mod mi ) . 2. i = 1. Khi (4. 2.2.vn .com 23 Chứng minh Theo giả thiết ta có r đồng dư thức fi ( x)  0(mod mi ) . 2. r . Theo tính chất của đồng dư thức ta được r đồng dư thức (4.

giả sử (a. m   1.www.Lrc-tnu.9) tương đương với a1 x  c1 (mod m1 ) .vn .10) trong đó  a1 . d phải là một ước số của UCLN  ax0 .9) cho nên lớp x0 (mod m1 ) cũng là tập hợp các giá trị nghiệm đúng phương trình (4.9) có nghiệm. c  c1d . ta chỉ cần tìm nghiệm của phương trình (4. m   1 nên khi cho x chạy qua một hệ thặng dư đầy đủ môđun m1 thì a1 x cũng chạy qua một hệ thặng dư đầy đủ môđun m1 .VNMATH. Phƣơng pháp 1: Xác định nghiệm bằng cách chia cả hai vế cho a c  Nếu a là một ước của c thì nghiệm của phương trình là: x  (mod m) . m) = 1 và 1 < a < m. đó chính là d nghiệm của phương trình (4. Theo tính chất 2 §2 của đồng dư thức. nghĩa là a1 x0  c1 (mod m1 ) . Do  a1 .10) có nghiệm duy nhất là lớp x0 (mod m1 ). Suy ra d ax0 và d m .….9): x0 (mod m). nghĩa là có x0  sao cho ax0  c (mod m) . Ngược lại.com 24 Giả sử phương trình (4. Phương trình (4.m)=d là ước của c . Vậy phương trình (4. m  UCLN  c. Do đó tìm được duy nhất một giá trị x0 sao cho a1 x0 cùng lớp với c1 . x0  (d  1)m1 (mod m) . x0  m1 (mod m) . Các phƣơng pháp tìm nghiệm của ax  c (mod m) Theo Định lý trên.edu. (4. m) nên d a và d m .10) tương đương với phương trình (4.9). a Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.9) với điều kiện (a. Theo tính chất của đồng dư thức. Vì phương trình (4. m  m1d . Đặt a = a  a1d . m hay d là ước của c . lớp x0 là hợp của d lớp thặng dư môđun m. Vì d = (a.

Khi ấy phương trình (4. Thật vậy. a 30  6 (mod 7) hay 5 x  6  7k . phải tồn tại số nguyên k (1  k  a  1 ) để c+km chia hết cho a. Vô lí vì 0  k1  k2  a . c+km chia hết cho a. Phƣơng pháp 2: Xác định nghiệm bằng cách vận dụng định lí Euler Vì (a. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. m) = 1 nên  k1  k2  chia hết cho a.www. m)  1 cho nên theo Định lý Euler ta có a  m  1(mod m) . Trƣờng hợp 3 b  0 Khi b  0 thì phương trình (4.com 25  Nếu a không phải là một ước số của c thì do (a. giả sử với mọi k (1  k  a  1 ). m)  1 nên x  ba  m1 (mod m) là nghiệm của phương trình.Lrc-tnu.2)  1 nên tồn tại số k  4 sao cho 2  k . Như vậy.vn . Khi ấy 5x  2 + 4. Từ đây suy ra a  mb  b (mod m) hay a ba  m 1   b(mod m) .8)  ax  c (mod m)  b  ax   c  b  (mod m) .7(mod 7) ta được nghiệm là x  c  km (mod m) . m) = 1 nên tồn tại số nguyên k ( 1  k  a  1 ) để c + km chia hết cho a. Khi ấy theo nguyên lí Dirichlet phải tồn tại hai số 0  k1  k2  a  1 sao cho c  k1m và c  k2m chia cho a có cùng số dư.8) trở thành (4. Chú ý Cách xác định nghiệm này là đơn giản nhưng chỉ dùng được trong trường hợp a là một số nhỏ hoặc trường hợp dễ thấy ngay số k. Nhưng (a. tức là  k1  k2  m   c  k1m   c  k2m  chia hết cho a.edu.7 chia hết cho 5.   Do (a.9) tương đương với phương trình ax  c+km(modm) nên nó có nghiệm là x  Ví dụ Giải phương trình 5x  2(mod 7) Vì UCLN(5.VNMATH.

…)  y  389  1998t  4. Giải phương trình Diophantus ax+by=c được đưa về giải phương trình đồng dư a x  c(mod b).2. Hệ phương trình đồng dư bậc nhất một ẩn Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Khi ấy ta được: y 1945  1998 x 1945  1998  389  2003t    389  1998t .  1. Ví dụ Tìm nghiệm nguyên của phương trình 1998 x  2003 y  1945 . nếu có số nguyên x0 sao cho có đồng dư thức a x0  c (mod b) thì c  ax0  0(mod b).com 26 Trở về phương trình dạng (4. y0  .www.9) xét trong Trường hợp 2. t  . tức là ước chung lớn nhất của a và b là một ước của c. 2003 2003 Vậy nghiệm tổng quát của phương trình là  x  389  2003t .VNMATH. tức phương trình đã cho có nghiệm  x0 . Ta xét phương trình đồng dư 1998x  1945 mod 2003  5x  1945 mod2003  5x  11960  mod2003 Do (5. Quan hệ giữa phƣơng trình đồng dƣ bậc nhất và phƣơng trình Diophantus bậc nhất hai ẩn ax + by = c Coi b > 0. nghĩa là có số nguyên y0 để c  ax0  by0 .vn . Vậy điều kiện phương trình Diophantus ax + by  c có nghiệm nguyên tương đương với điều kiện phương trình đồng dư a x  c(mod b) có nghiệm.2.edu. nghĩa là ta có đẳng thức a x0 +b y0 = c thì suy ra: a x0  c(mod b) và y0  c  ax0 .Lrc-tnu. Từ đó suy ra a x0 + b y0 = c. 2003) = 1 nên x  389  mod 2003  x  389  2003t . Nếu phương trình Diophantus ax + by = c có một nghiệm nguyên  x0 . (t = 0. y0  . b Đảo lại.

com 27 Xét hệ phương trình đồng dư bậc nhất một ẩn có dạng  x  b1 (mod m1 )  x  b (mod m )  2 2  . Vì ước chung nhỏ nhất  mi . mk đôi một nguyên tố cùng nhau nên bội chung nhỏ nhất của chúng là m  m1m2 . k. 2. .  x  bk (mod mk )  (4. 2. mk . k.. mk đôi một nguyên tố cùng nhau thì hệ phương trình (4.. 2. .. trong đó m = BCNN( m1 . bk là những số nguyên tùy ý. mk ).VNMATH. m2 .. Do đó    (mod m) ..Lrc-tnu... ….  Đặt x0  M 1M 1 b1  M 2 M 2 b2  .11)...edu.. Suy ra    (mod mi ) với mọi i = 1.11) có nghiệm.11) là trùng nhau...2...k. Đặt m  mi M i với i =1.11) với m1 .11) có nghiệm thì nó có nghiệm duy nhất.. ta có:   bi (mod mi ) và   bi (mod mi ) với mọi i = 1.. Chứng minh Theo giả thiết m1 .. mk là những số nguyên lớn hơn 1 và b1 . .…. …. . …. m2 . Khi đó ta có  mi .. M i   1 và M i  0(mod m j ) nếu i  j .vn ..... Định lý Trung Hoa về thặng dƣ Nếu các m1 . b2 .  M k M k bk . tức là các nghiệm x   (mod m) và x   (mod m) của hệ phương trình (4. Vì M j  0(mod mi ) và M i M i  1(mod mi ) với mọi i  j nên Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Định lý Nếu hệ phương trình (4. M i   1 nên tồn tại số nguyên M i sao cho M i M i  1(mod mi ) .www. Chứng minh Giả sử  và  nghiệm đúng hệ phương trình (4. m2 . i = 1.. k. m2 .

i Từ đó suy ra rằng nếu x  b1  mod pi i i  là một nghiệm của phương trình 1 f ( x)  0(mod pi ) .Lrc-tnu.. m2  chia hết cho b1  b2 . ….edu. Vậy trong trường hợp tổng quát giải một phương trình đồng dư dẫn đến giải hệ (4.www.VNMATH. mọi số x  b1  m1t . ….  x  b (mod p )  k k 2 k cho ta nghiệm của phương trình f ( x)  0(mod m) .. Sau đó Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.11). ….. hay (4. Trước tiên ta nhận xét rằng.. k. Chú ý *) Trong trường hợp tổng quát. thì nghiệm của hệ phương trình đồng dư  x  b1  mod p1     x  b2 (mod p2 )  .com 28 x0  bi  mod mi  . Thực hành giải hệ phƣơng trình Trƣờng hợp hệ hai phƣơng trình  x  b1  mod m1     x  b2  mod m2   Với giả thiết d =  m1 . 2. Khi ấy phương 1 2 k trình đồng dư f ( x)  0(mod m) tương đương với hệ phương trình đồng dư f ( x)  0 (mod pi ) . i = 1. j  k  . 2... Vậy x0 thỏa mãn hệ (4. mk đôi một nguyên tố cùng nhau. m2 .   *) Giả sử m  p1 p2 .11). i = 1.11) có nghiệm là x  x0  mod m  . . 2. k. chúng ta có thể chứng minh được rằng: Điều kiện cần và đủ để hệ phương trình (4. i = 1. m j  chia hết bi  bj với i  j 1  i. pk là phân tích tiêu chuẩn của m.. Với các môđun m1 .11) có nghiệm là ước chung lớn nhất  mi . t  là nghiệm của phương trình thứ nhất.. k.vn .

com 29 ta tìm cách xác định t sao cho x nghiệm đúng phương trình thứ hai.Lrc-tnu. là tập hợp tất cả các số nguyên t  t0  2 u . Ví dụ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.VNMATH.vn . ta sẽ được một hệ gồm n – 1 phương trình tương đương với với hệ đã cho. Trƣờng hợp hệ gồm n phƣơng trình Đầu tiên giải hệ hai phương trình nào đó của hệ đã cho. rồi thay trong hệ hai phương trình đã giải bằng nghiệm tìm thấy. u  . b. m = BCNN( m1 . d d   Thay biểu thức của t vào biểu thức tính x ta được tập hợp các giá trị của x nghiệm đúng cả hai phương trình đồng dư đang xét là: m  mm  x  b1  m1  t0  2 u   b1  m1t0  1 2 u .edu. 2   1 nên phương trình đồng dư này cho ta nghiệm d d  m m   t  t0  mod 2  .www. Tiếp tục như vậy sau n – 1 bước ta sẽ được nghiệm cần tìm. nghĩa là hệ hai phương trình trên tương đương với hệ phương trình  x  b1  m1t  b1  m1t  b2  mod m2  Vì giả thiết d   m1 . Vậy x  x0 (mod m) là nghiệm của hệ hai phương trình đồng dư đang xét. d  d  hay x  x0  mu với x0  b1  m1t0 . m2 ). m2  là ước b1  b2 nên phương trình b1  m1t  b2  mod m2  tương đương với phương trình: m1 b b  m  t  2 1  mod 2  . d d  d  m m  Nhưng  1 .

vn .VNMATH.  x  242(mod 900) Hệ đã cho tương đương với   x  11 mod 231 Hệ này có nghiệm x  242(mod 69300) .  26  36t  62  mod 60   26  36t  62  mod 60  36t  36(mod 60)  t  1(mod 5) .t . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu. Do đó hệ phương trình đã cho tương đương với hệ  x  62  mod 180    x  92  mod 150    x  11 mod 231 Ta tiếp tục giải hệ phương trình  x  62  mod 180   x  62  180t   .   x  92  mod 150  62  180t  92  mod 150   Ta có: 62  180t  92  mod 150  180t  30  mod 150 .edu. Vậy nghiệm của hệ là x  26  36. và đây cũng là nghiệm của hệ đã cho cần tìm. Vậy nghiệm của hệ là: x  62  180.t .1(mod 180) hay x  62(mod 180) .www.com 30  x  26  mod 36    x  62  mod 60  Giải hệ phương trình   x  92  mod 150   x  11 mod 231  Hệ hai phương trình  x  26  mod 36     x  62  mod 60    Phương trình:  x  26  36t .1   (mod 900)  x  242(mod 900) .  6t  1 mod 5  t  1 mod 5 .

Theo giả thiết ta có hệ phương trình:  x  0(mod 5)  x  1(mod 2)  x  0(mod 5)     x  1(mod 12)  x  1(mod 3)  x  1(mod 4)  Suy ra: 1 + 12t  0(mod 5)  2t  ..VNMATH. Giải Gọi x là số cần tìm. 2.. …. và do đó cả phương trình f ( x)  0(mod m) có i s  s1s2 . 4 đều có số dư là 1.   1. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.  an là một đa thức với hệ số nguyên   và m là số tự nhiên có dạng m  p1 p2 . và  là số tự nhiên khác không.3. …. pk . 2. Nhận xét a) Giả sử f ( x)  a0 x n  a1 x n1  . 2. k.. 2. i = 1. Vì i vậy giải phương trình f ( x)  0(mod m) được đưa về giải phương trình dạng f ( x)  0(mod p ) . k) thì hệ: f ( x)  0(mod pi ) .Lrc-tnu....vn .…. a >1 (1) thì x0 cũng là nghiệm đúng của phương trình f ( x)  0(mod p  ) . i = 1. với p là số nguyên tố.1. i k không có nghiệm thì phương trình f ( x)  0(mod m) cũng không có nghiệm.  1.3.. Phƣơng trình đồng dƣ bậc cao theo môđun nguyên tố 4.www.com 31 Ví dụ Tìm các số nguyên chia hết cho 5 và khi lần lượt chia cho 2. k  Z và do đó: x  1  12t  1   2  5k   25  60k ... Còn nếu phương trình f ( x)  0(mod p ) có si nghiệm (i = 1. 4. Vậy t = 2 + 5k. Nếu một trong các phương trình của hệ f ( x)  0(mod pi ) .1  4(mod 5)  t  2(mod5). …..sk nghiệm. 3. Khi đó phương trình đồng dư 1 2 k f ( x)  0(mod m) tương đương với hệ f ( x)  0(mod pi ) .edu. i =1. b) Nếu số nguyên x0 nghiệm đúng phương trình f ( x)  0(mod p ) . 2.

2. Qua những nhận xét ở trên.13) trở thành ( x p  x )g(x) + r(x)  0(mod p) . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.edu. Chứng minh Thực hiện phép chia f(x) cho x p  x ta được f(x) = ( x p  x )g(x)+ r(x). a0  0(mod p) .com 32 Từ đó suy ra rằng khi giải phương trình (1) ta chỉ cần tìm các nghiệm của nó trong các lớp là nghiệm của phương trình f ( x)  0(mod p 1 ) .VNMATH....www.  4. Phương trình bậc cao theo môđun nguyên tố Định lý Phương trình đồng dư theo môđun nguyên tố f ( x)  a0 x n  a1 x n1  . ta thấy rằng vấn đề cơ bản trong việc giải phương trình đồng dư còn lại là giải phương trình đồng dư theo môđun nguyên tố p: f ( x)  a0 x n  a1 x n1  .vn . Phương trình (4. Đối với phương trình mới này ta lại áp dụng kết quả đó để đưa về phương trình với môđun p  2 và cứ thế tiếp tục lên đối với phương trình f ( x)  0(mod p) .Lrc-tnu. r(x) hoặc bằng không hoặc có bậc nhỏ hơn p..13) với n  1 .  an  0(mod p) (4.3.  an  0(mod p) với a  0(mod p). trong đó g(x). c) Giả sử x = x0 (mod p) là một nghiệm của phương trình f ( x)  0(mod p) và đạo hàm f ( x0 ) không chia hết cho p khi ấy trong lớp x0 (mod p) gồm p 1 lớp theo môđun p có đúng một lớp là nghiệm của phương trình f ( x)  0(mod p ) . r(x) là những đa thức với hệ số nguyên. hoặc nghiệm đúng với mọi số nguyên hoặc tương  đương với một phương trình có bậc nhỏ hơn p.

 Chứng minh Giả sử ngược lại rằng phương trình (4.15) Từ giả thiết x2 là nghiệm đúng phương trình (4. Chú ý Theo định lý trên. p) = 1. Thật vậy. p)=1 nên tồn tại số nguyên a sao cho a0 a  1(mod p) và UCLN(a.13) ta có thể giả thiết n  p . với hệ số của x n1 là a0 và r1  f  x1   0  mod p  ..x2 ) f 2 ( x)  r2 .13) mà hệ số x n bằng 1.13) với a ta được một phương trình tương đương với phương trình (4. Chia đa thức f(x) cho đa thức x  x1 được f(x)=( x  x1 ) f1 ( x)  r1 .. xn (mod p) . có không quá n nghiệm.14) với n >1. trong đó f 2 ( x) là đa thức bậc n – 2 với Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.14) tương đương với ( x  x1 ) f1 ( x)  0  mod p  .14) có ít nhất n+1 nghiệm khác nhau là x  x0 ..13) tương đương với phương trình r(x)  0(mod p) . giả sử ta được f1 (x) = (x . Chia đa thức f1 ( x) cho đa thức x  x2 .vn .  an  0(mod p) (4. ở đó hoặc r(x)  0 hoặc có bậc nhỏ hơn p. x1 .. Do đó phương trình (4.edu.. Do đó khi nhân hai vế của phương trình (4.com 33 Với mọi x  ta đều có x p  x  0(mod p) nên phương trình (4. trong đó là đa thức bậc n–1 với hệ số nguyên.www.. Hơn nữa ta còn có thể giả thiết a0  1. (4. Đó là điều cần chứng minh.VNMATH. trong phương trình (4. Định lý Phương trình đồng dư theo môđun nguyên tố f ( x)  a0 x n  a1 x n1  . a0  0(mod p) . vì UCLN( a0 . Nhưng x2  x1  0  mod p  và p là số nguyên tố nên từ đồng dư thức  trên ta suy ra f1  x2   0  mod p  .14) ta có đồng dư thức x 2  x1  f1  x2   0  mod p  .Lrc-tnu.

14) tương đương với phương trình a0 (x .x1 )( x .xn ) f n ( x)  0  mod p  tương đương với phương trình (4.edu. n và p là số  nguyên tố suy ra a0  0  mod p  ..VNMATH..x2 )…(x .x2 )…(x . Từ đồng dư thức này với x0  xi  0(mod p). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.xn )  0  mod p  .  an  0(mod p) (4.vn . nghĩa là ta có đồng dư thức: a0 (x .17) với n < p và p là một số nguyên tố có quá n nghiệm thì các hệ số của nó đều là bội của p. Cứ tiếp tục quá trình trên như vậy sau n bước ta được phương trình (x . từ giả thiết lặp lại cách chứng minh định lý trên ta có a0  0  mod p  nên phương trình tương đương với a1 x n1  a1 x n1  .xn )  0  mod p  .16). điều này mâu thuẫn với giả thiết.x1 )( x .x2 ) f 2 ( x)  0  mod p  .com 34 hệ số nguyên. i  1.14). Chứng minh Thật vậy. ….x2 )…(x . Từ đây vì r2  0  mod p  phương trình (4.www.x1 )( x . Hệ quả Nếu phương trình f ( x)  a0 x n  a1 x n1  .Lrc-tnu.16) Theo giả thiết x  x0  mod p  là nghiệm của phương trình nên nó cũng là nghiệm của phương trình (4.14) và do đó cả phương trình (4.13) cũng tương đương với phương trình: (x .x1 )( x .  an  0(mod p ) . 2. (4.. Nhưng f n ( x) là đa thức bậc không mà hệ số của số hạng bậc cao nhất là a0 nên f n ( x) = a0 và vì vậy phương trình (4. với hệ số của x n2 là a0 và r2  f1  x2   0  mod p  ..

.. an đều là bội của p.  Hay nếu nguyên tố.. Phương trình có không ít hơn p – 1 nghiệm đôi một phân biệt và vế trái của nó là một đa thức bậc nhỏ hơn p – 1 vì vậy theo hệ quả trên thì tất cả các hệ số của đa thức đều là bội của p và riêng hệ số tự do cũng là bội của p. Hệ số tự do đó là:  1 2  . 1 < q < p thì  p  1!  0 mod q  bởi vậy  p  1! 1  0  mod q  nhưng vì p  0(mod q ) nên từ  p  1! 1  0  mod q    cũng có  p  1! 1  0  mod p  .. Thật vậy. Xét phương trình đồng dư  p  1! 1  0  mod p  . lại bằng cách lập luận tương tự như trên ta sẽ có a1  0  mod p  .VNMATH. Cứ tiếp tục như vậy.Lrc-tnu.. ta có Chứng minh Định lí hiển nhiên đúng với p = 2..com 35 Phương trình này có nhiều hơn n – 1 nghiệm.edu. nếu p  p1q . Chú ý Định lý Wilson cho ta điều kiện cần để một số tự nhiên p > 1 là một số nguyên tố.www. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.. cuối cùng ta được tất cả các hệ số a0 .vn  p  1!+ 1  0  mod p  thì số tự nhiên p > 1 là một số  . vì vậy để chứng minh ta giả thiết p > 2. Vì vậy ta có  p  1! 1  0  mod p  . a1 .   p  1   1   p  1! 1 .. x  p  1  ( x p 1  1)  0  mod p  . Định lí Wilson Với số nguyên tố p.  x  1 x  2. song điều kiện đó cũng là điều kiện đủ.

Lrc-tnu.vn . viết tắt là ISBN). Khi xử lý hoặc truyền thông tin dưới dạng từ mã. lỗi do con người hoặc những lỗi kỹ thuật khác. một số chữ số trong từ mã có thể bị thay đổi.2. Cần một số chữ số kiểm tra (check digits).www.com 36 Chƣơng 2 ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƢ TRONG MÃ SỬA SAI §1.1.edu.2.2 để Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. ISBN Ở bìa sau hầu hết các quyển sách ta cũng tìm thấy các mã vạch khác nhau. Vì các nguyên nhân đó. sự can thiệp từ bên ngoài như sét.VNMATH. và mỗi nhà xuất bản sách đều có thể được đồng nhất với một mã số theo cách này. được gọi là từ mã (codeword).1 và Hình 1. Mã vạch Hình 1. Mỗi sản phẩm khi ấy được xác định bởi một chuỗi những con số.1 dưới đây. do đó cần phải tìm cách chính xác hóa lại hoặc ít nhất là phát hiện ra lỗi. thí dụ. Hình 1. Các vạch này được đọc tại các bàn thu ngân bởi hệ thống quét laze để chuyển đổi những vạch mầu đen và trắng với độ dày đậm khác nhau thành những con số được in bên dưới. giống như Hình 1. Khái niệm mã Phần lớn các sản phẩm mà ta mua trong siêu thị đều có mã vạch (barcode). Con số phía trên được gọi là số sách tiêu chuẩn quốc tế (International Standard Book Number. bức xạ. thí dụ như trong Hình 1. chữ số 8 và chữ số 3 ở ngoài cùng bên phải tương ứng trong Hình 1. các lỗi có thể xẩy ra do sự cố điện.

www.VNMATH.com
37 nhìn vào đó chúng ta có thể biết chắc chắn sản phẩm ta cần mua hoặc cửa hàng gửi đến đúng quyển sách ta đã đặt. Các chữ số này được chọn bằng cách tận dụng một số tính chất cơ bản của các số trong dãy số. Chúng ta đã quen thuộc với ngôn ngữ nói hoặc ngôn ngữ viết, trong đó chứa rất nhiều cấu trúc câu giúp chúng ta đoán được chính xác ý nghĩa của câu nói (câu viết), mặc dù câu văn chứa lỗi chính tả hoặc những lỗi khác. Thí dụ, nếu ta nhận được tin nhắn: “Meat me at fore p.n. tomorrow”, ta vẫn có thể hiểu được đúng nghĩa của tin nhắn này. Việc phát hiện và sửa lỗi trong truyền tin cũng tương tự như vậy. Thí dụ mã đơn giản Để minh họa có thể sử dụng các con số để tạo ra một cấu trúc chặt chẽ như vốn có trong ngôn ngữ, ta xem xét ví dụ sau. Giả sử ta và một người bạn trước khi gửi đi tin nhắn đã thỏa thuận gán nhãn cho chín tin nhắn khác nhau như: “meet me at four p.m. tomorrow” (bản sửa lại đúng của tin nhắn trên), hoặc “See you at dinner tonight” bởi các số 1, 2, …, 9 tương ứng. Tiếc là ta không thể gửi đi một trong những số nguyên đó bởi vì những vấn đề kỹ thuật gây ra tới 2 lỗi trong lúc truyền tin. Do đó, ví dụ, nếu ta nhận được số 3 thì ta không thể biết người bạn đã gửi tin nhắn nào. Có khả năng là 1 (với lỗi là 2) và 4 (với lỗi là – 1). Tuy nhiên, ta có thể bất chợt nảy ra ý tưởng: nhân số của tin nhắn với 5 và gửi đi kết quả. Ví dụ: Nếu tin nhắn ta muốn gửi cho một người bạn có nhãn là 4 thì ta gửi 4x5 = 20. Nếu lỗi truyền đi lớn nhất vẫn là

2 , thì tin nhắn luôn có thể được hiểu đúng hoặc được giải mã (decode) như
sau. Giả sử người bạn nhận được số 22 thì anh ta suy luận đúng rằng ta đã gửi 20 với tin nhắn truyền đi sai là + 2. Vì vậy tin nhắn chỉ có thể là 20:5 = 4. Tương tự, nếu số nhận được là 38 thì ta khẳng định rằng người bạn chỉ có thể đã gửi 40 với lỗi là – 2. Vì thế 40:5=8 là nhãn của tin nhắn. Ta có thể nhận thấy rằng mọi tin nhắn là duy nhất (mỗi tin nhắn được giải mã thành một số

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

www.VNMATH.com
38 tương ứng với nó) và được giải mã (sửa lỗi) theo quy tắc: làm tròn lên (38 thành 40) hoặc làm tròn xuống (22 thành 20) số nhận được để được số gần nhất là bội của 5, sau đó chia số đã làm tròn cho 5 để được nhãn của tin nhắn. Sử dụng mã để truyền và sử lý thông tin một cách chính xác tối đa là một phần thiết yếu của cuộc sống hiện đại. Chẳng hạn, ngoài mã vạch trên các sản phẩm, mã PINs (Personal Identification numbers) được sử dụng trên các thẻ lĩnh tiền tự động (cashcard); các hộ chiếu trong khối EU mang các số nhận dạng để chống giả mạo; các mã sửa sai (error-correcting codes) được sử dụng trong truyền dữ liệu từ các mạng toàn cầu nhằm bù lại những khoảng cách lớn hoặc khả năng giới hạn của các máy truyền tin. Cuối cùng nhưng không kém quan trọng, mọi đĩa compact (CD) mang dòng chữ “DIGITAL AUDIO” (âm thanh số). CD được đưa vào sử dụng năm 1982 và đã được sử dụng để tái tạo âm thanh và lưu trữ thông tin dưới dạng số. Những âm thanh này đầu tiên được phân tích thành nhiều thành phần rất mảnh và được chuyển thành các số nhị phân. Để nghe đuợc bản nhạc, các bit được đọc trên đĩa CD bởi tia laze, và mỗi giây có 1.460.000 bit của thông tin âm thanh được xử lý. Độ dài của mỗi đoạn ghi chứa khoảng 20 tỉ bit và thậm chí với phương pháp sản xuất cẩn thận nhất, những sai sót vẫn có trên các đĩa CD. Lý do tại sao những sai sót này không ảnh hưởng đến nhạc, mà những âm thanh này còn rất chính xác và không có tiếng “click ”, “ hiss” và những tiếng ồn không mong muốn khác, đó là do khoảng 2/3 thông tin chứa trên đĩa CD là không dành cho thông tin âm thanh. Những thông tin thêm này được sử dụng để xử lý âm nhạc trước khi nó truyền tới tai người nghe nhằm đạt được những âm thanh cuối cùng thực sự hoàn hảo. Trong thực tế nhóm dữ liệu bao gồm 588 bit được sử dụng, trong đó 192 bit là chứa thông tin âm thanh và không nhỏ hơn 64 bit là những bit kiển tra và sửa lỗi.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

www.VNMATH.com
39 Trong chương này chúng tôi trình bày một số nội dung cơ bản của mã sửa sai theo tài liệu [6], có tham khảo thêm các tài liệu [1] và [7], dựa trên ý tưởng sử dụng số học đồng dư và các trường hữu hạn đã được trình bày trong chương I.

§ 2. Những ví dụ về mã
2.1. Mã lặp Ví dụ 2.1 (Bốn lệnh) Giả sử ta muốn dùng một điều khiển từ xa để gửi 4 lệnh khác nhau cho máy video (video cassette recoder, VCR). Những lệnh này có thể được biểu thị bởi các từ mã nhị phân (binary codewords) như sau: Lệnh Từ mã Dừng Stop 00 Chơi play 01 Tua đi Fast forward (FF) 10 Tua lại Rewind (REW) 11

Tuy nhiên, thậm chí một lỗi đơn giản xảy ra trong truyền tin (thí dụ 0 bị thay bởi 1 hoặc 1 bị thay bởi 0), thì lệnh sai sẽ được thực hiện bởi vì VCR không có cách để nhận biết lỗi đã xảy ra. Ví dụ nếu ta gửi 10 nhưng bị truyền sai thành 00 thì VCR dừng lại thay vì tua đi. Trong ngôn ngữ hàng ngày nếu ta không hiểu ai đó nói, ta thường đề nghị họ nhắc lại. Bởi vậy một cách tự nhiên để sửa các lỗi là nhắc lại mỗi từ đã được truyền đi, vì thế bản mã hóa trở thành: Lệnh Từ mã Stop 0000 Play 0101 FF 1010 REW 1111

Bây giờ nếu ta truyền 1010 và một lỗi đơn giản xảy ra trong bit đầu tiên thì VCR nhận được 0010. Đây không phải là từ mã mà được gọi đơn giản là từ (word). Vì hai chữ số đầu tiên là 00 khác với cặp thứ hai là 10, VCR phát hiện một lỗi đã xảy ra trong quá trình truyền tin. Tuy nhiên VCR không thể

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

http://www.Lrc-tnu.edu.vn

vn .edu. Mã lặp sửa những lỗi truyền đơn giản giống như trong ví dụ trên. Ta cũng có thể thấy một dạng mã lặp trong công việc của người thu ngân trong siêu thị. Ta không chỉ phát hiện ra lỗi như trước đây mà còn có thể sửa lỗi.Lrc-tnu. chẳng hạn dung lượng thông tin thường bị giới hạn bởi đường truyền.VNMATH.www.com 40 sửa lỗi này vì không có cách nào để biết 0010 là 1010 (lỗi trong bit đầu tiên) hoặc là 0000 (lỗi trong bit thứ 3). Nếu vì một vài lý do nào đó máy quét đọc sai mã vạch. một thông tin “lỗi” sẽ được hiển thị trên máy kiểm tra và người thu ngân sẽ thực hiện lại thao tác để nhập mã. như sau: Bit này phải là 0 1 1 1 0 1 0 Những bit này là 1 Bit thứ hai phải là 0 bởi vì số 0 đã xuất hiện 2 trong 3 lần. đã có một sự cải tiến vì VCR không thực hiện được lệnh nhưng đã xác định được thông tin sai. đầu tiên cho mỗi cặp bit. Tuy nhiên nó cũng cho những khó khăn riêng là thông tin gốc được truyền đi ba lần. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Mặc dầu vậy. Trong ví dụ trên VCR có thể quyết định ngay rằng lệnh là 10 và là tua đi. Điều này không những đắt mà còn có thể khó thực hiện vì. thí dụ trong bit thứ hai là 1 và thông tin nhận được là 111010. thông thường bằng cách dùng tay. Vậy từ nhận được sẽ được giải mã là 101010. Nếu nhắc lại hai lần thì các từ mã sẽ là: Lệnh Từ mã Stop 000000 Play 010101 FF 101010 REW 111111 Bây giờ nếu ta muốn truyền 101010 và lại một lỗi đơn xảy ra. Quá trình nhận được từ mã (codeword) theo từ (word) đã được chuyển đi được gọi là giải mã (decoding). Điều này được làm bởi cách cách “đếm vượt” (majority count).

xác suất xảy ra một lỗi đơn là rất nhỏ.vn . 2. những thông tin bổ xung (thông tin lặp) bản thân nó cũng có thể bị lỗi.edu. Mã chẵn lẻ Ví dụ 2. được gọi là bit kiểm tra chẵn lẻ (parity-check bit). Ví dụ tin nhắn nhận được ở trên 111010 có thể là 111111 với 2 lỗi ở bit thứ tư và thứ sáu.VNMATH. do đó việc giải mã có thể không được đảm bảo. nếu bit bổ xung. nhờ sự tin cậy của thiết bị điện tử. Tương tự.2.Lrc-tnu. Để hiệu chỉnh lỗi. chỉ sai khác 1 bit. Nếu từ nhận được không phải là từ mã thì một hoặc nhiều các lỗi được phát hiện ngay. Ý tưởng này mở rộng thành khái niệm giải mã lân cận gần nhất (nearest-neighbour decoding). Người nhận có được một danh sách đầy đủ các từ mã.com 41 Ta cũng thấy rằng. đến mức xác suất xảy ra một lỗi đơn cũng chẳng khác hai hoặc nhiều hơn các lỗi như vậy. Điều này dẫn đến mã chẵn lẻ (even parity code). hoặc đơn giản là bit kiểm Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. ta chọn từ mã giống nhất với từ đã được truyền đi bằng cách so sánh những từ nhận được với danh sách đã có và lựa chọn từ mã mà sai khác với từ đã nhận được với số lỗi nhỏ nhất. Bit này được lựa chọn sao cho từ mã kết quả chứa số chẵn chữ số 1. Ví dụ. Mục tiêu của ta là làm tăng xác suất tin nhắn nhận được đúng càng cao càng tốt.www.2 (Mã cơ số 2-mã nhị phân) Một mã đơn giản nhưng hữu ích cho việc sửa sai là mã nhận bởi cách nối thêm 1 bit đơn bổ xung vào mỗi tin nhắn chứa những thông tin được truyền đi. Trong suốt chương này ta giả thiết rằng. với mã lặp 6 bit trên nếu nhận được 101111 thì so sánh với 4 mã từ cho ta: Mã từ Lỗi Số lỗi 000000 101111 5 010101 101111 4 101010 101111 2 111111 101111 1 Tin nhắn vì vậy được giải mã là 1111111. vì đó là lân cận gần nhất với từ nhận được.

Giả sử một lỗi đơn xảy ra trong quá trình truyền tin ở bit thứ i.... Điều này có thể biểu diễn như sau: yi   xi  1 mod 2 (2.vn ... được lựa chọn để từ mã kết quả chứa số lẻ chữ số 1 thì mã kết quả được gọi là mã lẻ (odd parity code). xi 1 yi xi 1.. Tính chẵn lẻ của r nhận được bằng cách cộng các chữ số của nó theo đồng dư 2.. giả sử tin nhắn gốc gồm n – 1 bit x1 . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www... . Một bit bổ xung xn .2) và từ nhận được là r  x1 x2 . xét mã đầu tiên trong ví dụ 2.1) Các từ mã được truyền đi là x1 .. được lựa chọn để từ mã là chẵn.. 100. vì thế lỗi đã được phát hiện.  xn  x1  x2  .edu.com 42 tra (check bit)...  xn (mod 2)  1 mod 2 . hoặc của bản thân mã. Tuy nhiên nó không thể xác định được bit nào cần được sửa.VNMATH. 101 được gửi đi và một lỗi đơn xẩy ra thì từ nhận được sẽ là một trong các số 001..  xn  0  mod 2 . xn1 được gọi là các bit thông tin (information bits). 111. x2 . được cho bởi x1  x2  . được định nghĩa là n. Vì thế x1  x2  .. các từ mã chứa một số chẵn các chữ số 1. Điều này nghĩa là nếu xi  0 thì bit thứ i của từ nhận được là yi =1 và tương tự yi =0 nếu xi =1.1 và đặt hoặc số 0 hoặc số 1 vào cuối mỗi từ mã để mỗi từ mã mới là một số chẵn. và độ dài (length) của các từ mã. trong đó xi là 0 hoặc 1.. xn .  xi 1  ( xi  1)  xi 1  .. x2 . Trong trường hợp tổng quát. . Như vậy..Lrc-tnu. Lệnh Từ mã Stop 000 Play 011 FF 101 REW 111 Nếu.xn . Mỗi từ này chứa số lẻ chữ số 1.www.. thí dụ.. (2. Chẳng hạn.  xi 1  yi  xi 1  . được gọi là bit kiểm tra.

Từ nhận được được giải mã bằng cách thông báo „lỗi‟. 1 hoặc 2. Xét một ví dụ khác. Tuy nhiên. Hơn nữa. nếu từ nhận được có tính lẻ thì đã xảy ra một số lẻ lỗi. Khi ấy nếu từ nhận được có tính lẻ thì hầu như chỉ có đúng một lỗi đã xảy ra. Giả sử tối thiểu có một lỗi trong quá trình truyền tin. giả sử tính chẵn của mã cần kiểm tra có độ dài 5 đã được sử dụng và tin được gửi đi là 0111. giải mã tin nhắn là 0111. Xét mã 7 bit ASCII.. với giả thiết ở trên. vì thế từ mã được truyền đi là 01111 có tính chẵn. xn1 xn . và nếu từ nhận được có tính chẵn thì hầu như không có lỗi.vn .3) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. là 10101. bit kiểm tra phải là x5 = 1.com 43 Điều này chỉ ra rằng r có tính lẻ. nếu từ nhận được có tính chẵn thì ở đó phải có một số chẵn các lỗi (hoặc không có lỗi). mã kiểm tra tính chẵn phát hiện mọi lỗi đơn.www. nếu từ nhận được.VNMATH. Giả sử rằng xác suất của một lỗi đơn bất kì là rất nhỏ.  xn  0  mod 3 (2.. nên một lỗi đã xảy ra. khi ấy nếu nhận được 01111.1)..Lrc-tnu. Nó thường được mở rộng cho mã 8 bit bằng cách nối thêm 1 bit kiểm tra chẵn. thì từ này có thể sửa được bởi vì nó có tính chẵn. nhưng không xác định được bit nào trong từ nhận được là sai. Nhưng nó không thể sửa chữa lỗi đơn bởi vì không có cách xác định bit nào trong từ nhận được là sai. nếu một số lẻ của lỗi truyền tin xảy ra thì tính chẵn lẻ của r  1 . thì vì nó có tính lẻ. thí dụ. Để thỏa mãn (2.. Tương tự.3 (Mã cơ số 3-mã tam phân) Trong mã tam phân các từ mã là x1 x2 . Số kiểm tra xn được chọn sao cho: x1  x2  . trong đó xi là 0. Nói cách khác. Từ mã 7 bit 1000001 cho chữ A chở thành 1000010 và một vài từ mã 8 bit được cho trong bảng dưới đây: Kí tự Từ mã A B C a b c 10000010 10000100 10000111 11000011 110000101 01100011 Ví dụ 2. Ta có thể dễ dàng thấy rằng trong trường hợp tổng quát. Một ví dụ khác. Sau khi bỏ bit kiểm tra.edu.

Thí dụ. trong đó yi   xi  ei  mod 3 . Mỗi số bao gồm 13 chữ số thập phân.com 44 Lỗi ei trong chữ số xi bất kì có thể là 1 hoặc 2.3. xi 1 yi xi 1. từ mã được truyền đi là 102102. Nếu từ nhận được là 112102 thì tổng các số của nó là 1  1  2  1  0  2  1 mod 3 . được công nhận là chuẩn vào năm 1976. Nó đã được phát triển từ mã sản phẩm chung UPC (Universal Product Code) được sử dụng ở Mỹ từ năm 1973. Hai hay ba số đầu tiên là phân vùng quốc gia. 885 là Thái Lan … và 893 là Việt Nam.VNMATH.3) được thỏa mãn. 50 là Anh..  xi 1  ( xi  ei )  xi 1  .  xi 1  yi  xi 1  . 888 là Singgapor..vn .. từ “chẵn lẻ” (parity) chỉ áp dụng cho “tính chẵn” (evenness). 80 là Italia. Mã chẵn lẻ được mở rộng tự nhiên cho mã với cơ số p bất kì với tổng các chữ số của mỗi từ đồng dư với 0 theo môđun p. nếu chỉ có một lỗi đơn ở chữ số thứ i.1 là ví dụ của mã nhận dạng hàng hóa được sử dụng rộng rãi và được gọi là EAN (European Article Number). 2... tổng các số của z là x1  x2  .www. Nói riêng. Do đó. 49 là Nhật. thì từ nhận được là z  x1 x2 .4 (Số hiệu hàng hóa Châu Âu-European Article Number) Mã vạch trong Hình 1. Xét Hình 1.... Mã vạch Ví dụ 2.xn .  xn (mod 3)  ei  mod 3 Vì thế.  xn  x1  x2  . nghĩa là 1  0  2  1  0  x6  0  mod 3 ..edu. Chữ số kiểm tra x6 được chọn sao cho (2.. giả sử có một lỗi đơn xảy ra trong truyền tin thì mã phát hiện tất cả các lỗi đó bởi vì tổng các chữ số của từ nhận được không chia hết cho 3. Trong trường hợp này... xét thông tin gửi đi là 10210. chẳng hạn 30 là Pháp. chỉ ra rằng một lỗi đã xảy ra.1. Đúng hơn. hoặc “tính lẻ” (odd-ness).Lrc-tnu. Suy ra x6 = 2. Bốn hoặc Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.

giá của sản phẩm không phải một phần của mã vạch.2). và ta có thể thấy trong Bảng 2. Một số EAN Sản phẩm Sách Số học của NXB GD Vinataba của CT thuốc lá SG Vở ghi Hải Tiến Tesco plain flour Abbot Ale Maille Provencale mustard Sacla pesto sauce Book in figure Mã hàng 8934980426791 8936009050154 8936014823033 5000119101594 5010549000213 3036817800295 8001060375109 9780138340940 Chú ý rằng. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên (2.Lrc-tnu.vn . x11 x12 x13 . nghĩa là S thỏa mãn phương trình kiểm tra: (2. trong đó xi là các chữ số thập phân. thí dụ 4980 đồng nhất với nhà xuất bản giáo dục và 6009 là công ty thuốc lá Sài Gòn. Chín chữ số tiếp theo là chín chữ số đầu tiên của ISBN (Hình 1.1. chẳng hạn 42679 và 05015 tương ứng cho sách số học và thuốc lá Vinataba. Năm số kế tiếp đưa ra con số duy nhất xác định các sản phẩm.www.5) http://www. thì chữ số kiểm tra x13 là được tính sao cho tổng kiểm tra: S  x1  x3  x5  x7  x9  x11  3 x2  x4  x6  x8  x10  x12   x13 là bội của 10.1.VNMATH. Thông tin này lưu trong bộ nhớ máy tính của cửa hàng và thông báo cho máy thu ngân điện tử giá của mặt hàng mà mã vạch của nó đã quét được.com 45 năm số tiếp theo là các số của nhà sản xuất. Mã EAN cho văn hóa phẩm (ISBN) được bắt đầu với chữ số 978 hoặc 979..edu. Nếu một EAN được kí hiệu bởi x1 x2 . Chữ số cuối cùng là số kiểm tra mà máy tính lưu trữ có thể kiểm tra xem số trên sản phẩm có đồng nhất với số của nhà máy không.4) S  0  mod 10 . Bảng 2..

4) trở thành S = 8+ 3 + 9 + 0 + 2 + 6 + 3(9 + 4 + 8 + 4 + 7 + 9) + 1 = 151 và vì vậy S  1 mod 10  . vì  0  e  9 .4) thay đổi thành e hoặc 3e tùy theo chỉ số i là chẵn hay lẻ. thì trong tổng kiểm tra (2.1 đọc không chính xác là 8934980426791 (những chữ số x10  7 và x11  6 đã được đổi chỗ) thì tổng kiểm tra (2.edu. Nếu.www. vì thế (2.VNMATH. Một loại lỗi phổ biến xẩy ra khi nhập các chữ số từ bàn phím. vì thế tổng kiểm tra sẽ đồng dư với 0 theo môđun 10 và lỗi sẽ không bị phát hiện. Tuy nhiên nếu. Sự thay đổi trong tổng kiểm tra khi đó là  x5  x6  3x6  3x5  2  x5  x6  .5). Tuy nhiên.1 khi thay thế vào (2. Rõ ràng điều này có thể áp dụng tương tự đối với sự đổi chỗ của hai chữ số liền kề bất kỳ sai khác bởi 5 đơn vị (không nhất thiết phải là vị trí x5 và x6 ). Chẳng hạn. Do đó nếu x5  x6  5 thì sự thay đổi trong tổng kiểm tra sẽ là 10 . Nếu một lỗi trong đại lượng e xẩy ra tại một chữ số xi nào đó thì S trong (2. Trong trường hợp khác.Lrc-tnu. tất cả các lỗi này khi đổi chỗ hai chữ số liền kề sẽ được phát hiện.vn . lỗi đã xảy ra.4) trở thành: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Có thể dễ dàng kiểm tra các dãy khác trong Bảng 2. thành phần đầu trong Bảng 2. Do đó mã EAN phát hiện mọi lỗi đơn.4) x5 được thay thế bởi x6 và 3 x6 bởi 3 x5 . khi đó trong chữ số thứ năm x5 và thứ sáu x6 ở một EAN được đổi chỗ. chẳng hạn. tuy nhiên không sửa được các lỗi đơn vì không biết chữ số nào của EAN là sai.5) sẽ không thỏa mãn. sự thay đổi trong S sẽ không còn đồng dư với 0 theo môđun 10. hoặc khi đọc chúng. là hai chữ số kề nhau bị vô tình đổi chỗ.1 luôn thỏa mãn (2. chẳng hạn mã cho Vinataba của công ty thuốc lá Sài Gòn đọc không đúng là 8936009500154 thì tổng kiểm tra (2.4) cho ta: S = 8+ 3 + 9 + 0 + 2 + 7 + 3(9 + 4 + 8 + 4 + 6 + 9) + 1 = 150  0  mod 10  . nếu mã cho sản phẩm thuốc lá Vinataba trong Bảng 2.com 46 Ví dụ.

x6  x7  5 ) không được phát hiện. Vậy.7) của số mới này Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.5 (Thư chuyển tiền của bưu điện Mỹ) Thư chuyển tiền phát hành bởi hệ thống dịch vụ bưu điện nước Mỹ (USPS) đồng nhất với số x1 x2 . như trên. Số kiểm tra x11 được định nghĩa như là phần dư theo môđun 9 của số gồm 10 chữ số. và một số chuỗi cửa hàng bán lẻ cũng có hệ thống mã vạch riêng cho mình.6) Vì vậy.6) bởi đẳng thức đồng dư tương đương: x i 1 10 i  x11  mod 9  .x10 x11 với xi là các chữ số thập phân. x9 x10  x11  mod 9 . Vì thế sự đổi chỗ của chữ số thứ thứ bảy và thứ tám ( x7  0 .com 47 S = 8 + 3 + 0 + 9 + 0 + 1 + 3(9 + 6 + 0 + 5 + 0 + 5) + 4 = 100  0  mod 10 . x11 = 3 và mã từ là 38448096423. Do đó 0  x11  8 ..www. đó là: x1 x2 . Chẳng hạn.. ta được: 3844809642 = 9 x 427201071 + 3. Một cách tính toán đơn giản số kiểm tra x11 là thay (2. Ví dụ 2.Lrc-tnu. x8  5 . số 10 chữ số 3844809642 chia cho 9. Dạng rút ngắn 12 chữ số và 8 chữ số hình thức của EAN cũng được sử dụng. (2.7) Sử dụng (2. trừ hai trường hợp trên.7) với số có 10 chữ số ở trên cho ta 3 + 8 + 4 + 4 + 8 + 0 + 9 + 6 + 4 + 2 = 48  3 mod 9  .. Nếu một lỗi xảy ra tại một chữ số nào đó trong mười chữ số đầu thì dễ dàng thấy rằng phương trình đồng dư (2.vn . Chẳng hạn.VNMATH. nếu x6 = 0 trong số có 10 chữ số ở ví dụ trên bị thay bởi 9 thì tổng ở vế trái trong (2.. trừ khi 0 được thay thế bởi 9 và 9 bởi 0.7) sẽ không còn đúng.edu. (2. mã phát hiện tất cả các lỗi đơn trong các chữ số x1 đến x10 . Chứng tỏ rằng x11 = 3.

trong trường hợp đó sự đổi chỗ của x10 và x11 là không phân biệt. Lỗi không bị phát hiện. Điều này chỉ ra rằng số kiểm tra không thay đổi.edu. 10. Thật vậy. nếu i  9 và hai chữ số liền kề đổi chỗ thì tổng bên vế trái trong (2. Biểu thức cuối cùng này không thể đồng dư với x10  mod 9  trừ khi x10  x11 . 11 chứa toàn bộ các khả năng có thể của tổ hợp hai số 0 và 1..vn .x10 x11 không phải là một từ mã. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.com 48 sẽ là 48 + 9 = 57  3 mod 9  .VNMATH.  x9  x10   x11  x10   x11  mod 9   x11  x10  mod 9  x10  mod 9   2 x11  2 x10  mod 9 .www. 01.. Đó là bởi vì bốn lệnh 00. trừ khi x10  x11 ..W.1 được biểu diễn bởi 00.Lrc-tnu. § 3.7) là: x1  x2  . Điều này chỉ ra rằng từ  x1 x2 . Khoảng cách Hamming Bốn lệnh trong ví dụ 2. khả năng của mã phát hiện ra các lỗi ở trong việc đổi chỗ giữa hai chữ số thập phân xi và xi 1 là rất kém. Ý tưởng này đã được khái quát hóa bởi nhà toán học và khoa học máy tính người Mỹ R. 10. 11. Hamming năm 1950. Tuy nhiên.. Nếu lỗi chỉ xảy ra ở chữ số kiểm tra x11 thì nó sẽ bị phát hiện vì (2. Nếu có một lỗi đơn trong truyền tin thì lệnh sai sẽ được thực hiện. Vì vậy mã chỉ phát hiện các lỗi truyền khi chúng chứa chữ số kiểm tra. Trong trường hợp này tổng mới của các chữ số trong vế trái của (2.7) không thay đổi và do đó chữ số kiểm tra không thay đổi.  x9  x11  x1  x2  . bởi vì x11  8 nên  2 x11  2 x10   0  mod 9 . do đó một lỗi trong một bit của một từ mã sẽ chuyển nó thành một từ mã khác – các từ mã đó “quá gần nhau”. Khả năng còn lại có thể là khi x10 và x11 đổi chỗ. Trên thực tế khoảng 2% số các lỗi đơn sẽ không bị phát hiện. vì thế lỗi trong chữ số thứ sáu không bị phát hiện..7) sẽ vi phạm. 01..

y)  d(x. và nếu x  C thì x được gọi là một từ mã. (3.. y) > 0. với mã tam phân có độ dài 5 thì d(01221. 10211) = 3 vì hai từ này khác nhau tại các vị trí thứ 1. 2. Trong chương này ta chỉ xét các mã mà tất cả các từ mã có cùng độ dài. trong đó mỗi xi thuộc p được gọi là một từ có độ dài n. Tuy nhiên.. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Thuật ngữ “khoảng cách” được sử dụng. z) + d(z. xn1 xn . y). 2. và vì thế không thể vượt quá t. Thí dụ. Nếu ngược lại thì d(x. d(x.. y) = d(y. y).1) được thỏa mãn.1). x). (3) Tiên đề bất đẳng thức tam giác: Với bất kì từ thứ ba nào z  z1 z2 .zn . nếu p  2 thì xi bằng 0 hoặc 1 và C là một mã nhị phân. Giả sử x và y là hai từ có độ dài n. y) thỏa mãn ba tiên đề của khoảng cách.. y) giữa chúng là số các vị trí mà x và y là khác nhau. Có thể thấy d(x.Lrc-tnu. p – 1 (đại diện của các p lớp đồng dư môđun p). Khi ấy khoảng cách Hamming d(x.www. giả sử x thay đổi thành y bằng cách đi qua z.vn . thì xi bằng 0.com 49 Kí hiệu là tập hợp các số nguyên 0. y) chính là số nhỏ nhất các chữ số của x phải thay đổi để nhận được y. Vì mỗi xi có thể nhận p giá trị cho nên tổng cộng có p n từ. nghĩa là xi  yi với i = 1. z) và từ z đến y là d(z. Một p-mã C chiều dài n là một tập hợp các từ như vậy. bất đẳng thức (3.. Nếu p  3 . Số chữ số thay đổi từ x đến z là d(x. 1 hoặc 2 và C là mã tam phân. Hai tiên đề đầu tiên suy ra ngay từ định nghĩa: (1) d(x.1) Để chứng minh (3. 1. z) + d(z. …. ta có: d(x. y) = 0 nếu và chỉ nếu x = y. y). bởi vì d(x. ….VNMATH. cho ta tổng chữ số thay đổi: t = d(x. 2 và 4. Trường hợp riêng. (2) d(x. n. Một xâu các chữ số x  x1 x2 .edu. y) là số nhỏ nhất có thể các chữ số cần thay đổi để x trở thành y.

a3 . Khoảng cách Hamming giữa các mã từ bây giờ là d(a. 11) = 2. đối với bất kỳ mã C với   C   1 sẽ có ít nhất hai từ mã a và b mà d(a. d(01.com 50 Khái niệm giải mã lân cận gần nhất giới thiệu ở ví dụ 2.1) Mã đầu tiên được sử dụng trong ví dụ 2. tạo thành C2  a.edu. 11) = 1. c. Nếu a được truyền đi với một lỗi ai bị thay đổi thành bi . c  1010. b  0101. Ví dụ 3. a4 =111111. Mã lặp thứ ba trong ví dụ 2.11 .vn . c) = 2. và khoảng cách giữa tất cả các cặp có thể có của từ mã là: d(00. vì vậy không có cách phát hiện lỗi đã xảy ra. khi ấy ta nhận được từ b.1 bây giờ có thể được giải thích lại như sau: coi từ mã đã truyền đi là từ mã gần nhất với từ nhận được. d(01. e với a  0000. b) = 1. Do đó khoảng cách tối thiểu là   C2  = 2. d(00. d(a. e) =2. b. 01) = 1.10.b)=1 nên b cũng là từ mã.1 là C3  a1 . và có thể giải thích lý do tại sao mã C1 không thể phát hiện những lỗi đơn.1 là C1  00. d(b. d(00. được đo bằng khoảng cách tối thiểu   C  . tin nhắn được coi là đúng. 01. Một tham số quan trọng ảnh hưởng đến việc phát hiện lỗi và tính chất sửa sai của một mã C là sự “gần gũi toàn bộ” (overall closeness) của các từ. y trong C với x  y.1. a3 =101010. d(10. d(c.www. e  1111. d(a. y) với mọi x. Nó được định nghĩa như là giá trị nhỏ nhất của các d(x. theo nghĩa khoảng cách Hamming giữa hai từ là nhỏ nhất. Khoảng cách giữa các từ mã là Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 11) = 1. 10) = 1. d(b. a2 . b) = 2. Do đó khoảng cách tối thiểu là  (C1 )  1. và do đó mã C2 có thể phát hiện tất cả các lỗi đơn. a2 =010101. e) = 2. a4  với a1  000000. Nhưng do d(a. trong đó mỗi tin nhắn được truyền hai lần. c) = 4.VNMATH. Thật vậy.Lrc-tnu.1 (Khoảng cách bé nhất cho ví dụ 2. 10) = 2. Bây giờ xét mã thứ hai trong ví dụ 2. e) = 4.

4) Nếu y là từ mã bất kỳ.Lrc-tnu. y   e  d  z. các cặp từ mã khác nhau ở ít nhất e + 1 vị trí.3)   2e  1. d( a3 . Do đó nhiều nhất e lỗi truyền được phát hiện. Khi ấy: (1) C sẽ phát hiện e lỗi với điều kiện   e  1. d( a2 .2) (3. và vì vậy không phải là một từ mã.4) vào bất đẳng thức tam giác (3. từ nhận được sẽ khác với x trong nhiều nhất là e vị trí. Do đó mã này có thể sửa được tất cả các lỗi đơn. (2) Giả sử một lần nữa rằng một từ mã x đã được truyền và nhiều nhất e lỗi xảy ra.2).5) d  x.VNMATH. a3 )=6. do đó từ nhận được z khác với x ở tối thiểu e vị trí. y  . d( a1 . khoảng cách tối thiểu: (3. a4 )=6. d  x.vn . a3 )=3. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. a2 )=3.1 (Phát hiện và sửa lỗi) Giả sử C là một mã có khoảng cách tối thiểu là  . Khi ấy. và giả thiết những từ nhận được được giải mã bằng nguyên lý lân cận gần nhất. Định lý 3.1) cho ta: (3. khi đó theo định nghĩa của d  x. y     2e  1 . (2) C sẽ sửa các lỗi e với điều kiện (3. nghĩa là.com 51 d( a1 . Chứng minh (1) Theo định nghĩa của khoảng cách tối thiểu.www.edu. d( a1 . Thay thế (3. khác với từ mã x. a4 )=3. d( a2 . mọi cặp từ mã khác nhau ở ít nhất  vị trí. z   e . chỉ ra tại sao khoảng cách tối thiểu xác định được lỗi và các tính chất sửa sai của một mã. Ví dụ này minh họa kết quả quan trọng dưới đây. Theo (3. Giả sử một mã x đã được truyền đi và nhiều nhất e lỗi xảy ra trong quá trình truyền. a4 )=3 và khoảng cách tối thiểu là   C3  = 3.

5) ta được d  z. 2 1   1 lỗi nếu  2 1   2  nếu  là chẵn. Do đó theo (3. Các bất đẳng thức (3. bởi vì khoảng cách giữa các từ mã ít nhất là 3.2) và (3.com 52 Kết hợp điều này với (3. y   e  2e  1  e  e  1. nhưng không thể sửa được thì người nhận yêu cầu gửi lại tin nhắn.vn . (b) Xét một mã nhị phân có độ dài 5 C  11001. 00011 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. vì thế theo nguyên lý lân cận gần nhất.VNMATH.www.Lrc-tnu. thì C có thể được sử dụng hoặc là để phát hiện tối đa  -1 lỗi. 01110. hoặc để sửa nhiều nhất là lẻ. 10100. hoặc 1   1 . từ mã gần nhất đối với z là x. y   d  x. Chú ý rằng bây giờ vì bổ xung thêm mã C3 (khi tin nhắn được nhắc lại hai lần) nên nó có thể sửa một lỗi hoặc phát hiện hai lỗi. từ nhận được được giải mã là x.1 cho ta bảng dưới đây Mã  1 2 3 Số lỗi đƣợc phát hiện 0 1 2 Số lỗi đƣợc sửa 0 0 1 C1 C2 C3 Các kết quả này phù hợp với khẳng định khi xét các mã lặp lại trong Ví dụ 2. tối đa e các lỗi truyền đi được sửa. 2 Khi những lỗi được phát hiện.2 (Những ứng dụng của định lý) (a) Áp dụng định lý vào ba mã trong ví dụ 3.edu. Ví dụ 3. Điều này cho thấy khoảng cách giữa từ nhận được z và bất kỳ từ mã y (  x) tối thiểu là e+1. và e  Định lý có thể phát biểu lại như sau: Nếu một mã C có khoảng cách tối thiểu là  .3) được viết lại là e    1 .4).1.

xn và y  y1 y2 . Mã hoặc có thể phát hiện tối đa hai lỗi. Thí dụ khác. d(r. giả sử nhận được 11100. 2.. 1 + 1 = 0. qua đó sửa chữa lỗi đơn (trong bit thứ hai). do đó chẳng hạn r có thể là từ 10100 với những lỗi trong các bit thứ hai và thứ ba. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. các bit được cộng theo quy tắc cộng môđun 2: 0 + 0 = 0. …..VNMATH. nếu x = y thì bit thứ i của x + x là xi  xi  1  1  0. 5 chỉ ra rằng từ mã thứ ba là gần nhất tới từ nhận được. yn là z  x  y mà zi  xi  yi  mod 2 . 2. 11001) = 3..1) Từ (4. Mã nhị phân tuyến tính Định nghĩa tổng hai từ mã nhị phân x  x1 x2 . có nghĩa là.Lrc-tnu. Để minh họa hai trường hợp này. những lỗi không thể được sửa. Tuy nhiên.vn . trước hết giả sử rằng một từ r  10010 là nhận được. 00011) = 2. hai lỗi đã được phát hiện. Mã nhị phân tuyến tính là một mã C có tính chất tổng của hai từ mã bất kỳ cũng là một từ mã. 1 + 0 = 1 = 0 + 1. Vì các từ mã thứ ba và thứ tư là bằng nhau. i = 1. 01110) = 3. 10010) = 2. Theo nguyên lý lân cận gần nhất ta kết luận rằng từ mã thứ ba 10100 đã được truyền đi. hay từ 00011 với lỗi trong bit đầu tiên và cuối cùng. Mã tuyến tính 4. 1.com 53 Dễ dàng thấy rằng khoảng cách tối thiểu là  = 3. và zi  1 nếu xi  yi . Những khoảng cách tới những từ mã tương ứng là 2. Khoảng cách của nó với bốn từ mã là d(r. n..edu. Nghĩa là.1) ta có zi  0 nếu xi  yi . d(r. d(r. nếu x và y thuộc C thì z  x  y cũng thuộc C. Điều này chỉ ra rằng mọi mã nhị phân tuyến tính bất kỳ luôn luôn chứa từ mã 0 (có tất cả các bit đều là chữ số không). Có nghĩa là. §4. theo nguyên lý lân cận gần nhất thì không thể xác định được từ mã nào được truyền đi. Đặc biệt.1. hoặc xi  xi  0  0  0 . (4. hoặc sửa được lỗi đơn.www.

 yi  0  mod 2 .edu.www. những tổng khác của những cặp từ mã là: 000 + 100 = 100. (4. Tất cả là từ mã.3) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 101. 100 + 001 = 101. Một lý do mã tuyến tính quan trọng bởi vì giá trị của δ có thể tìm thấy dễ dàng bằng cách tính khoảng cách giữa tất cả các cặp có thể của các từ mã. 000 + 101 = 101.1). Do đó tổng các bit của z  x  y là: i i i i  z   x  y    x   y i  0  mod 2 . Tương tự. bất kỳ hai từ mã x và y thỏa mãn các điều kiện (2. bởi vì: 1010+0111=1101 không phải là một từ mã. 101 + 001 = 100.2 là một mã tuyến tính.VNMATH. Do đó từ định nghĩa của d(x. 100. 0111) là không tuyến tính.y) suy ra w(z) = w(x + y) thỏa mãn: w  x  y   d  x. 1010. số các chữ số 1 trong z bằng với số những vị trí mà x và y khác nhau. (c) Mã C = (0000. 0 + 0 = 0.1 (Mã tuyến tính và mã phi tuyến) (a) Xét mã nhị phân C = 000. Thật vậy.2) Đặt y = 0. Xét tổng z của hai mã từ x và y.vn .Lrc-tnu.com 54 Ví dụ 4. Theo Định lý 3. 001 . do đó. Ta đưa vào định nghĩa: Trọng số w(x) của một từ mã nhị phân x là số các số 1 trong x. Điều này cho thấy rằng z cũng thỏa mãn (2. (4. cho bởi: (4. và do đó cũng là một từ mã. ta cần phải tính khoảng cách tối thiểu δ cho một mã để xác định lỗi và xử lý lỗi đó. vì vậy C là mã tuyến tính. trọng số của nó được w  x   d  x. y  . (b) Mã nhị phân chẵn lẻ trong ví dụ 2. 0 . Các bit của tổng 100 +  101 là 1 + 1 = 0. do đó.1. 0 +1 = 1. 100 + 101 = 001 cũng thuộc C.1) x i  0. 000 + 001 = 001.2) cho thấy rằng với mọi từ mã x. Dễ thấy rằng zi = 1 khi xi  yi .

và để cho u là một từ mã mà w(u) = w*.3) thì khoảng cách tối thiểu là  = 1.edu. Ví dụ 4. Có tám từ nhị phân chiều dài 3 là 000. Biểu diễn ma trận của các mã nhị phân Ví dụ 4.com 55 Như vậy mối quan hệ giữa khoảng cách tối thiểu và trọng số được thiếtt lập bởi định lý dưới đây. Bởi vì cả hai u và 0 là từ mã nên từ định nghĩa khoảng cách tối thiểu ta cũng suy ra  ≤ d(u. 100. 101. 011. Dễ dàng kiểm tra rằng mã C = (000000.   min w  x  . hay (4. 111. x 0 Chứng minh (4. 101010.1a) là w(100)=1. 110. 001. w(101)=2.3) Ký hiệu w* là giá trị nhỏ nhất của w(x) trong (4.3) được chứng minh.2. 4.3 (Phương trình kiểm tra) Xét một mã nhị phân C1 độ dài 3 mà các từ mã x1 x2 x3 thỏa mãn điều kiện x1  x2  0 . Kết hợp các kết quả này ta được  ≤ w*.2) suy ra w*  d  u. 111 .0  . Vì   C1  = 1 nên mã thậm chí không phát hiện được những lỗi đơn. 110. nghĩa là.VNMATH. Từ (4. như vậy theo (4. vì vậy mã thỏa mãn cả hai Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Các trọng số là w(010101) = 3.1 Khoảng cách tối thiểu  cho một mã nhị phân tuyến tính C bằng trọng số khác không nhỏ nhất của các từ mã.www.  ≥ w*.2 (Ứng dụng của định lý) (a) Trọng số của các từ mã khác không trong mã 4. 0). Chọn từ 8 từ đó các từ thỏa mãn điều kiện trên thì ta có C1 = 000. Định lý 4. (b) 111111) là tuyến tính. Do đó theo (4. Mặt khác.3) mã có khoảng cách tối thiểu  = 3. Nếu thêm một điều kiện là x1 + x3 =0 thì chỉ có từ mã đầu tiên và cuối cùng trong C1 thỏa mãn điều kiện này.3).vn . Vậy  = w* . 010101. 001. w(101010) = 3. w(111111) = 6. 010. w(001) = 1.Lrc-tnu.

những “phương trình” là những phương trình biểu diễn đồng dư theo môđun 2.edu. C1 chứa bốn tin nhắn nhưng chỉ có hai tin nhắn có thể được gửi bằng cách sử dụng C2 (ví dụ..5) http://www. Các phương trình trên được gọi là phương trình kiểm tra tính chẵn lẻ (hay đơn giản là phương trình kiểm tra).111}..  an xn  0 có thể được viết dưới dạng thu gọn ax = 0.VNMATH... x là véctơ mã x   x1 ... a2 . . và bởi vậy làm giảm bớt khả năng truyền thông tin của mã.. Nhưng điều này sẽ làm giảm bớt số lượng các từ mã. Mục tiêu là thêm các điều kiện dưới dạng của những phương trình kiểm tra tuyến tính nhằm làm tăng khoảng cách tối thiểu giữa các từ mã. và do đó có thể cải thiện khả năng xử lý lỗi. a2 . Một phương trình kiểm tra a1 x1  a2 x2  . .. vì vậy mã này có thể sửa chữa mọi lỗi đơn. Chẳng hạn. an . Nói chung... “có” và “không”)..4) và ax = a1 x1  a2 x2  . x2 . Nói một cách chặt chẽ. ..www. an  là véctơ hàng với thành phần là a1 . Ví dụ này minh họa một ý tưởng tổng quát trong việc xây dựng mã tuyến tính. nên sử dụng ngôn ngữ của ma trận là tiện lợi. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên (4. Chú ý rằng véctơ mã (4. T là kí hiệu chuyển vị ma trận... xn  T (4. nhưng để tiện lợi ta biểu diễn chúng như những phương trình thông thường.vn . với a   a1 .xn đọc từ trái sang phải và được đặt từ trên xuống dưới.Lrc-tnu.com 56 điều kiện là C2 ={000..4) được viết như một cột với những chữ số của từ mã x  x1 x2 .  an xn là tích vô hướng của a và x. Rõ ràng   C2  =3. những điều kiện mà các bit của từ mã phải thỏa mãn có dạng phương trình tuyến tính.

.3.9) Từ mã x1 x2 x3 được xác định như là nghiệm của các phương trình kiểm tra Giả sử x và y là hai từ mã trong một mã C thỏa mãn cùng một hệ phương trình kiểm tra dưới dạng ma trận: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. các hàng của nó là các hệ số của các phương trình kiểm tra.8) 1 1 0 H=  .vn . và H được gọi là một ma trận nhị phân. và 0 là vectơ không.. Ma trận kiểm tra là ma trận nhị phân (4.6) cho ta 1 1 0 0 1 0 1 x   0  0 .edu. an  0   0  b2 .com 57 Nếu có nhiều phương trình kiểm tra. . Chú ý rằng với các mã nhị phân. . 1x1  0 x2  1x3  0 có thể được viết như những tích vô hướng 1 trong đó x   x1 x2 1 0 x = 0.     Biểu thức (4..  0  Ở đây H là ma trận kiểm tra.. 1 0 1 (4.7) có thể được viết gọn như sau Hx  0 (mod 2) . cụ thể là 1x1  1x2  0 x3  0 ..Lrc-tnu.  ..7) (4. x3  .. . (4.     . a2 . thì chúng có thể được viết dưới dạng:  a1 b  1 . bn  x    hay Hx  0 . T 1 0 1 x = 0. tất cả các thành phần trong H là 0 hoặc 1... nó đã được tìm thấy trong ví dụ 4.www.3 là 000 và 111.4 (Ma trận kiểm tra) Sử dụng (4. . Ví dụ 4. .6) Kết hợp hai biểu thức trong (4.5).VNMATH. (4..8). . hai phương trình kiểm tra trong ví dụ 4.

12) và (4. Ví dụ 4. Vì vậy. Điều này chỉ ra rằng z cũng thỏa mãn hệ phương trình kiểm tra.vn . là – 0 = 0.VNMATH.Lrc-tnu. một mã nhị phân tuyến tính C là tập các từ mã thỏa mãn điều kiện Hx ≡ 0(mod 2).11) nhận được bằng cách viết các hàng của H như những hệ số của phương trình. Chẳng hạn. và được gọi là có kích thƣớc m×n.com 58 Hx = 0. Giả sử ma trận kiểm tra là (4. Hz = H(x + y) = Hx + Hy = 0 + 0 = 0. thì Hy = 0. và do đó cũng thuộc C.10) có m hàng và n cột. trong đó x là véctơ mã.3 và 4. Tương tự dòng thứ hai của H cho (4.4. theo định nghĩa. Nếu z = x + y.12) x2  x3  x4  0 .www. C là một mã tuyến tính.edu.12) có thể được viết lại như sau: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 0 1 1 1  (4.5 (Tạo một mã tuyến tính) Những ví dụ 4. Nói cách khác.11) Những phương trình kiểm tra tương ứng với (4. Phương pháp này sẽ phức tạp nếu n quá lớn. Dưới đây mô tả một cách tìm các từ mã cho trường hợp n bất kì. hoặc x1  x3  0 . Phép cộng nghịch đảo trong 2 2 trình (4. -1 = 1. hay là một ma trận m×n. hàng đầu tiên của H cho 1x1  0 x2  1x3  0 x4  0. Nếu có m phương trình kiểm tra thì H trong (4. Phương Các từ mã là các nghiệm của (4. các từ mã đã nhận được bằng cách đơn giản là tìm trong tập tất cả các từ có chiều dài 3 các từ thỏa mãn các phương trình kiểm tra (4.8).13). do đó trong (4.13) cũng cho ta:  xi  xi .10) 1 0 1 0  H  .

Hai bit x1 và x2 được gọi là các bit kiểm tra.www. x4  0 thì x1  x3  1 .edu. 1110. Tương tự. với các phương trình kiểm tra dạng: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. như được chỉ ra trong bảng trên.Lrc-tnu.15).com 59 x1   x3  x3 và (4. và chúng nhận giá trị 0 hoặc 1. x2  x3  x4  1 .12) và (4.13) dễ dàng giải được vì bit kiểm tra x1 chỉ xuất hiện trong phương trình đầu tiên và bit kiểm tra x2 chỉ xuất hiện trong phương trình thứ hai. Thông tin tin nhắn x3 x4 được gọi là mã hóa (encoded) thành từ mã x1 x2 x3 x4 .13) có dạng (4. (4. Từ bảng này có thể thấy rằng có bốn từ mã 0000. w(1011)] = 2. Vì x3 và x4 có thể chọn tùy ý nên chúng được gọi là các bit thông tin. Ví dụ trên minh họa bài toán xây dựng một mã tuyến tính được thực hiện bằng cách chọn một ma trận kiểm tra phù hợp.vn . và các bit này được xác định duy nhất bởi các bit thông tin.14) và (4. w(1110).15) Các bit x1 và x2 bây giờ đã được biểu thị dưới dạng x3 và x4 được coi là hai bit độc lập.14) x2   x3  x4  x3  x4 . giá trị tương ứng của x1 và x2 trong hai cột đầu tiên được chọn theo công thức (4. Chú ý rằng các phương trình (4. ta xét mã có ba bit kiểm tra cho một mã chiều dài 5. Tất cả có bốn khả năng sau x1 0 0 1 1 x2 0 1 1 0 x3 0 0 1 1 x4 0 1 0 1 Đối với mỗi cặp giá trị của x3 và x4 . 0101. Ví dụ x3  1 .3). khoảng cách tối thiểu là  = min[w(0101).VNMATH. 1011. Sử dụng (4.

Các từ mã x  x1 x2 .11) có thể được viết là H =  I 2 A với: 1 0  I2   .  . (4... 0 1  1 0 A .18) Ba cột đầu tiên của H trong (4.Lrc-tnu. Như ví dụ 4.17) 1 0 0 a1 a2  H  0 1 0 b1 b2  .   . được ký hiệu là I 3 .xn được tính như sau:  x1   xm 1  x  x   2   A  m2  .VNMATH.16) trở thành Hx = 0.. x   x1   0 0 1 c1 c2    x2 x3 x4 x5  . ma trận kiểm tra là: H   I m A .18) tạo thành một ma trận A số chiều 3 × 2..xn thỏa mãn phương trình kiểm tra Hx = 0.       xn   xm  n  (4.19) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Các cột còn lại của (4..vn . x3  c1 x4  c2 x5  0 .1. (4.18) tạo thành ma trận đơn vị 3×3. 1 1  Tổng quát. hệ có thể được viết lại bằng cách sử dụng môđun 2 để biểu diễn các mã kiểm tra như sau x1  a1 x4  a2 x5   x2  b1 x4  b2 x5  .com 60 x1  x2  a1 x4  a2 x5  0 . ma trận kiểm tra (4.edu..www. x3  c1 x4  c2 x5   Trong ký hiệu ma trận.16) trong đó x4 và x5 là những bit thông tin. để xây dựng một mã nhị phân tuyến tính chiều dài n với m bit kiểm tra. với A là ma trận có số chiều m   n  m .. Tương tự. T (4. trong đó: (4. Các bit kiểm tra x1 x2 .. b1 x4  b2 x5  0 .

x7 cho tập tất cả các từ mã. ví dụ. trong đó A  b1 b2  . (4.vn .19). Để mã hóa một tin nhắn chứa xm 1..20) đơn giản là những hệ số của những phương trình trong vế phải của (4.m bit thông tin xm 1..com 61 Chẳng hạn. x7 = 0 thì: x1 = 1 + 0 + 0 = 1. x3  x5  x6  x7 .www.edu. còn mã được gọi là một [n. . dòng đầu tiên của A trong (4.20) cho x2  x4  x5  x6 . có nghĩa là: x1  x4  x5  x7 .5. Vì m = 3. Vì vậy.6 (Xây dựng một mã tuyến tính) Để xây dựng mã chiều dài 7 với ba bit kiểm tra..19). Số k được gọi là số chiều của mã.VNMATH. các bit kiểm tra là x1 . nếu x4 =1.20) cho x1  1x4  1x5  0 x6  1x7 . x6 = 1. dòng thứ hai và thứ ba của A trong (4. x3 .17) được viết thành:  a1 a2   x1   x4    x   A  x  . Bởi vì các bit này có thể nhận giá trị 0 hay 1 độc lập. tổng cộng có tất cả 2k từ mã. Như trong ví dụ 4. Tương tự. xn . .  2  5 c1 c2   x3      Có tất cả k = n . x2 . x6 . đơn giản ta thêm vào đầu nó những bit kiểm tra x1 x2 .k] mã.. x5 . Ví dụ. x3 = 0 + 1 + 0 = 1.. Ví dụ 4. x2 = 1 + 0 +1 = 0..xm được tính bằng cách sử dụng (4.Lrc-tnu. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. x5 =0.. xn . từ mã tương ứng là 1011010..20) Các hàng của ma trận A trong (4. ta chọn ma trận kiểm tra 1 0 0 1 1 0 1  H  0 1 0 1 1 1 0    I 3   0 0 1 0 1 1 1    A . (4. do đó. lựa chọn tất cả các giá trị có thể có của các bit thông tin x4 .

vì vậy suy ra không có cột nào của H có thể bằng không.1. Bốn từ mã khác với 1011010 được liệt kê trong bảng sau.vn .www. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Điều này có được do δ = 2 cho mã này. một lỗi đơn có nghĩa là một bit 0 được nhận là 1. Các bit kiểm tra Các bit thông tin x1 1 1 0 0 x2 1 1 1 0 x3 0 1 1 1 x4 1 0 0 1 x5 0 1 0 1 x6 0 0 1 0 x7 0 0 0 0 Phát hiện lỗi đơn Đối với một mã nhị phân.11) không có cột số nào có tất cả các phần tử bằng không và do đó tạo ra một mã phát hiện tất cả các lỗi đơn..com 62 Mã chiều dài 7 xây dựng như trên có kích thước là k = 7  3 = 4. tức là e  0.010..7 (Hai ma trận kiểm tra) (a) Ma trận kiểm tra H trong (4.edu.. Nếu e là từ có trọng số 1 thì nó có mọi bit bằng 0 trừ một bit thứ i.Lrc-tnu. ma trận kiểm tra H của mã tuyến tính nhị phân phát hiện lỗi đơn (singleerror-detecting) không có cột nào bằng 0. và có tất cả 24 = 16 từ mã. Theo Định lý 3. Ví dụ 4. suy ra rằng không có từ mã nào có trọng số 1. đối với một mã nhị phân tuyến tính.0 . hoặc bit 1 được nhận là 0. Vì vậy trong trường hợp này đòi hỏi  ≥ 2.  bằng số nhỏ nhất của tất cả các trọng số của từ mã khác không. Nói cách khác.VNMATH. vectơ tích He chính là cột thứ i của H. Từ e như vậy không là từ T mã thì nó phải thỏa mãn He  0 . Tuy nhiên theo Định lý 4..Tuy nhiên. để mã phát hiện tất cả các lỗi đơn khoảng cách tối thiểu  ít nhất phải là 2.1.

www.c) thì không có cột nào của H là 0 và không có hai cột của H bằng nhau. Nói cách khác. bởi vì . và mã với ma trận kiểm tra H không nhận diện được những lỗi đơn. Khoảng cách tối thiểu do đó là  =1. với chỉ bit thứ hai khác không. Nếu e là một từ nhị phân có trọng số 2 thì e chỉ có hai bit khác không tại vị trí i và j và khi ấy He ≠ 0. (b) Nếu mã chỉ có hai bit kiểm tra. Tuy nhiên. Điều này phù hợp với các kết quả trước đã chỉ ra rằng khoảng cách tối thiểu cho mã này là 2.vn .11) có các cột thứ hai và thứ tư bằng nhau. h j thứ i và thứ j của H thỏa mãn điều kiện hi + h j  0 (vì hi + h j =He).Lrc-tnu. để sửa được những lỗi đơn thì  ≥ 3.e.c.com 63 (b) 1 0 0 1  Ma trận kiểm tra H  0 0 1 1  có cột thứ hai bằng 0.edu. Sửa chữa lỗi đơn Trong §3 ta biết rằng. viết tắt: s. và do đó không phải là ma trận kiểm tra của một mã s. thì ma trận kiểm tra thỏa mãn các 1 0 1 điều kiện sửa lỗi đơn chỉ có thể là H   .7 (Mã sửa được lỗi đơn) (a) Ma trận kiểm tra H trong (4. điều này dẫn đến các cột hi . tức là hi ≠ h j . Ví dụ 4.9)) không sinh một mã khác. là một từ mã có trọng số 1. Như đã nhận xét ở trên. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. H là ma trận kiểm tra của mã nhị phân tuyến tính sửa được lỗi đơn (single-error-correcting linear binary code. Do đó   1 0 1 0    0100. hoán vị các cột của H (ví dụ.hi = h j (mod 2). để sinh ra ma trận H trong (4. bởi vì ba cột trên cho thấy 0 1 1   chỉ có cột khác không là những cột với hai phần tử.e. nghĩa là không có từ mã nào có trọng số 1 hoặc 2.VNMATH.

chiều dài 5 với ba bit kiểm tra và hai bit thông tin.20) và phụ thêm chúng vào các cột của I 3 . chiều dài 7. 5 hoặc 6 tương ứng. cột 0 và m cột của I m phải bị loại ra từ A.e. nên có nhiều nhất là 2m cột khác nhau cho lựa chọn A. cho một mã chiều dài n với m bit kiểm tra.vn . I 3 ) được giữ lại. với ba bit kiểm tra có chiều dài tối đa là 7. 1 0 0 1 1 0  (d) Ma trận kiểm tra H  0 1 0 1 1 1  có các cột thứ hai và thứ   0 0 1 0 1 0    sáu bằng nhau. Nghĩa là. mỗi ma trận 1 0 0 1 1 H1  0 1 0 1 1 .c.21) sinh ra một mã s.e. Nói chung. Vì x  010001 với chữ số 1 trong các vị trí thứ hai và thứ sáu thỏa mãn Hx  0 nên x là một từ mã có trọng số 2..e. Nhưng để mã có tính chất s.com 64 (c) Khi có ba bit kiểm tra.20). chỉ có duy nhất một lựa chọn để các cột của ma trận A khác với các cột của I 3 là ma trận đã được chỉ ra trong (4. Ma trận H trong (4.m ≤ 2m – m – 1.e. Do đó mã tương ứng với H có khoảng cách tối thiểu 2. Do đó tổng số các cột có thể chọn chỉ là 2m – m .20) khi ấy là ma trận kiểm tra cho một mã s.c. hai hoặc ba trong số các cột của A trong (4. n m côt Bởi vì mỗi phần tử trong m phần tử của một cột của A có thể là 0 hoặc 1.1.VNMATH. số (n .c.c. chọn bất kỳ một. ma trận kiểm tra sẽ là H   I m A   mcôt m hàng.m) cột của A phải thỏa mãn n .www. vì vậy không sửa được lỗi đơn.edu. Phần (c) của ví dụ 4.Lrc-tnu. kết quả trong ma trận kiểm tra s. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Vì H không có cột chỉ gồm toàn các chữ số 0 nên mã không phát hiện được những lỗi đơn. Thí dụ. Tương tự.c.   0 0 1 0 1   1 0 0 0 1 H 2  0 1 0 1 1   0 0 1 1 1   (4. Chú ý rằng trong mỗi trường hợp ba cột đầu tiên (có nghĩa là.e.e. đối với một mã nhị phân s.c. cho mã chiều dài 4.7 đã chỉ ra rằng một mã s.

Khi n  2m  1 thì mã được gọi là hoàn hảo (perfect).3. Tên gọi này xuất phát từ việc sử dụng thuật ngữ y khoa với nghĩa là “triệu chứng” (symptom). v. cách tiếp cận trực tiếp sử dụng ma trận kiểm tra H là thích hợp hơn. ta sử dụng thuật toán sau đây. Trong trường hợp này một lần nữa Hc  0 . nhưng do He  hi là cột thứ i của H nên Hr = H(c + e) = Hc + He = 0 + hi = hi . khi có bốn bit kiểm tra. Sơ đồ giải mã này không thực tế khi có một số lượng lớn từ mã. Thay vào đó. Để giải mã một từ nhị phân nhận được r. trong đó e là một từ có ei  1 .vn . 4.. theo định nghĩa nó thỏa mãn Hr = 0. và ei  0 với mọi i khác. nguyên lý “lân cận cực đại (maximum likelihood) vẫn có hiệu lực – Nguyên tắc này giả thiết từ nhận được không có lỗi là gần hơn tất cả các từ khác và từ nhận được với một lỗi là gần hơn từ có hai lỗi hoặc hơn. Ví dụ. và số bit thông tin là 15-4=11. Nếu r là một từ mã.www.. Điều này chỉ ra rằng nếu một lỗi đơn xuất hiện trong truyền tin thì Hr bằng một cột của H. Thuật toán hội chứng giải mã cho các mã nhị phân Từ trước đến nay ta đã giải mã bằng cách tìm khoảng cách Hamming giữa một từ nhận được r và mỗi từ mã. Các mã s.c không hoàn hảo với bốn bit kiểm tra có ít hơn 11 bit thông tin.com 65 Do đó chiều dài của các mã này thỏa mãn các điều kiện n ≤ 2m – 1. Khi ấy nguyên tắc lân cận gần nhất chọn từ mã gần nhất với r để giả định là từ mã đã được truyền đi. Thuật toán hội chứng giải mã cho các mã nhị phân Bước 1: Tính hội chứng s = Hr (mod 2).edu. Nếu khi truyền tin xảy ra một lỗi đơn ở vị trí thứ i thì r  c  e . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.c hoàn hảo có chiều dài 24 -1 = 15.Lrc-tnu. mã s.. Tuy nhiên.v.VNMATH.e. Vì vai trò của nó trong việc xác định từ mã đã được truyền đi. các véc tơ cột Hr (nhận được bằng cách nhân ma trận kiểm tra và véctơ cột r tạo thành từ từ nhận được r) được gọi là hội chứng (syndrome) của r.e.

do đó e = 00100.1  0. (a) Nếu từ nhận được là r = 11001 thì hội chứng s  H1r là 1    1 0 0 1 1 1  1.0  1.Lrc-tnu.c. theo bước 4. và đòi hỏi truyền lại tin nhắn.1  0 s  0 1 0 1 1 0  =  0. Bước 3: Nếu s  cột thứ i của H.21). chiều dài 5 với ma trận kiểm tra là ma trận H1 trong (4.0  1.www.1 1        1    So sánh s với H1 trong (4. Bước 4: Nếu s ≠ 0. Bit thứ ba của r được sửa thành 0 + 1 = 1. một lỗi truyền xảy ra trong bit thứ ba. do đó. Ta có thể kiểm tra trong trường hợp này các từ mã đã được truyền đi có thể là 00000 với những lỗi trong bit đầu tiên và thứ ba.8 (Ứng dụng của thuật toán) Xét mã s.      0 0 1 0 1 0  1      0    Rõ ràng s không phải là cột của H1 . có nhiều hơn một lỗi đã xảy ra.1  1.1  0.0  0.e. thì giả thiết rằng nhiều hơn một lỗi đã xảy ra.1  0. và từ mã đã truyền đi là r  e đã nhận được bằng cách sửa ri thành ri + 1. Ví dụ 4. do đó.vn . hoặc Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.1  1.com 66 Bước 2: Nếu s  0 thì coi r là một từ mã và lỗi truyền không xảy ra. s khác cột thứ i của H. Do đó theo bước 3.        0 0 1 0 1 0  0. (b) Nếu từ nhận được là r = 10100 thì hội chứng là: 1    1 0 0 1 1 0  1  s  0 1 0 1 1 1   0  . giả sử một lỗi đơn đã xảy ra trong bit thứ i.21) cho thấy rằng nó bằng với cột thứ ba của H1 .VNMATH. các từ mã đã truyền là c  11101.0  1.1  1.edu.1  0.0  1.1  0 . Vì H1c  0 nên c thực sự là một từ mã.

Với một mã hoàn hảo. 0. có thể đối với một từ mã được truyền đi. Tuy nhiên. 0.. 4.. điều này giải thích tại sao các mã như thế được gọi là “hoàn hảo”. Thuật toán hội chứng giải mã chỉ có thể kết luận "không có lỗi” trong trường hợp này.0..n số những từ có khoảng cách bằng 1 đến từ mã..n  2k  2m  1  2n  2k . với k  n  m . Mã nhị phân Hamming Một bất lợi của thuật toán trong phần trước là một hội chứng phải được so sánh với các cột của ma trận kiểm tra.VNMATH. Vào năm 1950. 2k. 010.0.01 (sai khác với từ mã 00…0 duy nhất 1 bit). 2n  2k  2k . một từ có chiều dài n hoặc chính nó cũng là một từ mã. Bởi vậy. Tương tự áp dụng cho mỗi từ mã khác.www.edu. Trong trường hợp này Bước 4 của thuật toán không áp dụng được. mỗi từ nhận được có thể được coi là nhận được từ một từ mã duy nhất với nhiều nhất là một lỗi. và chứa 2k từ mã.n .4. Mã không thể sửa các lỗi bội này. thứ tư và thứ năm.. Tất cả điều này giả định rằng tối đa là một lỗi truyền xảy ra. Điều này có nghĩa rằng không có từ mã nào mà khoảng cách Hamming đến từ nhận được là 1... Phần (b) của ví dụ 4.7 chỉ ra rằng có thể nhận được một hội chứng không phải là một cột của ma trận kiểm tra.010. Như vậy tổng số của các từ có chiều dài n mà khoảng cách bằng 1 đến một từ mã là: 2k. Có chính xác n từ mà khoảng cách Hamming là 1 đến từ mã 00…0.Lrc-tnu.. Để giải thích tại sao.0. nếu mã là hoàn hảo thì điều này không thể xảy ra – một hội chứng sẽ bằng một cột của H.. 2k là số những từ mã. Nói cách khác. trong đó 2n là tổng số những từ có độ dài n.com 67 11101 với những lỗi trong các bit thứ hai và bit thứ năm. và nhận được một từ mã khác bởi một số lỗi xảy ra. hoặc có khoảng cách 1 đến một từ mã. Ví dụ. là các từ mã 10. hoặc 00111 với các lỗi trong bit thứ nhất.vn .. ta nhớ rằng một mã hoàn hảo với m bit kiểm tra có độ dài n = n  2m  1 . Hamming đã nghĩ ra Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.

c phải không chứa một cột gồm toàn chữ số 0. 2 và 4. sử dụng ba bit là: Số thập phân Nhị phân 1 001 2 010 3 011 4 100 5 101 Những số nhị phân này loại trừ 000 và tất cả đều khác nhau. trong đó x  x1 x2 x3 x4 x5 .22) không còn có dạng mà ba cột đầu tạo nên ma trận I 3 có số chiều 3x3.VNMATH. Các bit kiểm tra là x1.. con đường tự nhiên đáp ứng điều kiện này là chọn biểu diễn nhị phân của các số nguyên 1.2]. có ba bit kiểm tra. 001 trở thành 0  . theo đó vị trí của các lỗi đơn có thể nhận được trực tiếp từ hội chứng.e. hoặc hai cột giống hệt nhau.com 68 một lược đồ. Thay vào đó..9 Mã Hamming chiều dài 5 Biểu diễn nhị phân của những số nguyên từ đến 5. tương ứng với biểu diễn nhị phân của 1.vn . những bit được đọc từ trái sang phải. và được xếp từ 0  trên xuống dưới. Thực hiện điều này cho mỗi   1    số nhị phân dẫn đến ma trận: 0 0 0 1 1  H  0 1 1 0 0  .. thứ hai và thứ tư trong (4.edu. 2.www. Viết lại các phương trình kiểm tra Hx = 0. Như trước đây.20) và chỉ chứa một số 1.   1 0 1 0 1    (4. ví dụ.22) Đây là ma trận kiểm tra cho một mã Hamming nhị phân [5. Ví dụ 4.Lrc-tnu. do đó. do đó. Nhớ lại rằng ma trận kiểm tra cho một mã nhị phân s.20).c. x2 và x4. cho: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. viết chúng như các cột của một ma trận kiểm tra. chúng là những cột thứ nhất. như trong (4. 3.e. mà thực chất sẽ tạo ra một mã s. Hamming chỉ ra rằng. Chú ý rằng H trong (4. 4. như là các cột H.

Điều này minh họa tính chất cơ bản của các mã nhị phân Hamming: biểu diễn nhị phân của hội chứng ngay lập tức chỉ ra bit lỗi.VNMATH. Tuy nhiên.edu.22) để xem nó là cột nào. x2 + x3 = 0.www. Xóa các bit kiểm tra x1. không cần phải kiểm tra H trong (4. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Lrc-tnu.com 69 x4 + x5 = 0. khi ấy hội chứng là: 1  s  Hr  0    0   Chuyển véctơ cột s thành số nhị phân s = (100)2. như vậy số này trong hệ thập phân là 4.3. 11100. Chọn tất cả các giá trị có thể cho các bit thông tin x3 và x5. x2 và x4 . 01111. x2  x3 . Nếu một lỗi đơn xảy ra thì hội chứng bằng một cột của H. Do xi   xi trong hệ cơ số 2 nên hệ trên có thể được sắp xếp lại như sau: x1  x3  x5 . giả sử một từ đã nhận được là r = 01101.vn . do đó lỗi ở bit thứ tư. x4  x5 . Ví dụ. Bây giờ xét giải mã bằng cách sử dụng thuật toán hội chứng trong Mục 4. 10011. tin nhắn được giải mã là 11. ta được bảng sau: Bit kiểm tra Bit thông tin x1 0 1 1 0 x2 0 1 0 1 x4 0 0 1 1 x3 0 1 0 1 x5 0 0 1 1 Viết các bit theo thứ tự x1 x2 x3 x4 x5 sẽ được bốn từ mã 00000. x1 + x3 + x5 = 0. và từ mã được truyền là r  00010 = 01111.

kích thước k và m = n ... Thật ra. ta tính các hội chứng s = Hr. (3) Các bit kiểm tra ở những vị trí. nếu j > n thì có nhiều hơn một lỗi xảy ra. cột thứ i của ma trận kiểm tra H kích thước m  n là vectơ cột được tạo thành từ biểu diễn nhị phân của i sử dụng m bit. Nếu s  0 thì coi từ mã r đã được truyền đi. nếu r  11010 thì s  Hr  1 .  thực sự là bằng 3. trong khi đó mã lặp trong Ví dụ 2.. x2 .vn . n. mã sửa được mọi lỗi đơn..5. một số hội chứng chỉ ra các lỗi kép. (4) Theo cách xây dựng.www.1 vì ở đây chỉ yêu cầu năm bit để sửa các lỗi đơn.1 mã là rút ngắn (shortened). cụ thể là x1 . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.edu. Đối với mã Hamming rút gọn. mỗi hội chứng (ngoại trừ 0) xuất hiện như là một cột của ma trận kiểm tra. Chuyển sang số nhị phân (111)2 =  1  7. Các tính chất của mã nhị phân Hamming [n. . Ngược lại. nơi mà các cột của H chỉ chứa một chữ số 1.. Ví dụ.. Ngẫu nhiên. (2) Với i  1.k] (1) Mã có độ dài n. Nếu n  2m 1 thì mã là hoàn hảo.VNMATH. (5) Để giải mã một từ nhận được r. 11 và là cải tiến của mã lặp trong Ví dụ 2. 4.2. và do đó tương ứng với một lỗi đơn sửa được. 01.. x p với p  2m1 .k bit kiểm tra. x4 . nếu n < 2m . và do đó có khoảng cách tối thiểu là 3.com 70 Nếu có nhiều hơn một lỗi xuất hiện thì Bước 4 của thuật toán hội chứng giải mã khẳng định rằng hội chứng này không phải là cột của ma trận kiểm 1 tra. do đó không thể có lỗi ở bit thứ bẩy: kết luận là nhiều hơn một lỗi đã xảy ra. x8 . 6) Đối với mã Hamming hoàn hảo.Lrc-tnu. 10. nếu  s 2   j 10  n thì giả sử một lỗi đơn xảy ra trong bit thứ j.1 yêu cầu sáu. mã trong ví dụ này có thể được sử dụng để gửi bốn tin nhắn là 00. Mã có chiều dài chỉ là 5..

….edu.6.1 về phát hiện và sửa lỗi trong §3 được áp dụng cho bất kỳ p–mã nào. nhưng định nghĩa tuyến tính trong mục 4.23) Ví dụ..     1  1  1 0 1 0 1 0 1       1  1    Điều này dẫn đến 1012 = 5 chỉ ra rằng lỗi xuất hiện tại bit thứ 5 và khi ấy từ mã đã được chuyển là 0110011. Hội chứng là: (4..10 (Mã Hamming hoàn hảo [7.vn . và tối đa một lỗi 0  1    0 0 0 1 1 1 1 1  1     s  Hr  0 1 1 0 0 1 1 0   0  .VNMATH. Do đó ma trận kiểm tra 3x7 là: 0 0 0 1 1 1 1 H  0 1 1 0 0 1 1 .. Khi ấy C là tuyến tính khi và chỉ khi Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. do đó p p . Loại các bit kiểm tra x1 . Cho hai p–từ mã x và y  y1 y2 .www. i = 1. Biểu diễn nhị phân 6=(110)2 và 7 = (111)2 cho hai cột bổ sung sẽ được nối thêm vào (4.   1 0 1 0 1 0 1   xảy ra trong truyền tin. 4]) Ở đây số bit kiểm tra m = 7. x4 dẫn tới tin nhắn được giải mã là 1011.1 cần sửa đổi theo cách sau.22).Lrc-tnu.. và n = 23 .4 = 3. giả sử một từ đã nhận được là r = 0110111.xn với xi  một số nguyên tố. x2 . Các p-mã Hamming Một p–mã C có độ dài n đã được định nghĩa trong §3 là một tập hợp các từ mã x  x1 x2 . 2. n. yn .1. 4. Định lý 3.com 71 Ví dụ 4. tổng z=x+y có các chữ số zi   xi  yi  mod p  . Dưới đây ta chỉ xem xét các mã với p là là một trường hữu hạn.

 Phương trình kiểm tra (4. 1   2  2 2         (mod 3).c.vn .11 Mã tuyến tính tam phân 0 1 1 2  Ma trận kiểm tra  không phải là ma trận cho một mã tam 1 0 2 1   phân s. bởi vì các cột thứ tư là bằng 2 lần cột thứ ba. đó là.e. Điều này trở về yêu cầu đầu tiên là ma trận H phải không có cột gồm toàn các số 0. điều kiện (ii) trở thành luôn đúng vì  0. Trọng số của p–từ mã bây giờ là số các chữ số khác không của nó. y  C và (ii) ax C với mọi a  p . đó là c  2    2   mod p  .. Mã tuyến tính có khả năng sửa mọi lỗi đơn ít nhất phải có khoảng cách tối thiểu là 3.www.  . yêu cầu thứ hai trước kia trong mã nhị phân là không có hai cột của ma trận kiểm tra bằng nhau.10) bây giờ trở thành Hx ≡ 0 (mod p). .24) 0 1 1 1  H   1 0 1 2  Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên (4.  2  4 1  Tuy nhiên.25) http://www.1 .  .com 72 (i) x  y  C . ma trận kiểm tra (4. bội này được xác định bằng cách nhân mỗi phần tử của véctơ x với  x1  cx1   x  cx  c p .Lrc-tnu.VNMATH. Định lí quan trọng (4. 2 Đối với mã nhị phân. tức là khoảng cách tối thiểu của một mã tuyến tính bằng trọng số nhỏ nhất của từ mã khác không.      . Với định nghĩa mở rộng này. Ví dụ 4. giống như trong mã nhị phân. bây giờ được thay thế bởi điều kiện là không có cột nào là bội khác 0 của cột khác.1) vẫn còn đúng. với mọi x.edu.

Như đối với các mã nhị phân tuyến tính.edu. Ghi các cột của H như những số trong hệ cơ số 3:  01 3 1 10  3  3.c.c. từ mã x  x1 x2 x3 x4 được bằng cách giải các phương trình kiểm tra Hx  0  mod 3 với H trong (4. vậy có 32 = 9 từ mã. . khi x3 = 1. những chữ số kiểm tra có thể được biểu diễn như sau (vì -1 = 2. theo môđun 3.e. Một số từ mã khác được cho trong bảng sau: Chữ số kiểm tra Chữ số thông tin x1 1 2 2 1 x2 2 1 2 0 x3 0 0 1 1 x4 1 2 0 2 Các mã được xác định bởi ma trận kiểm tra H trong (4. (4.VNMATH. ta chỉ cần viết ra tất cả các bội khác không của các cột và xác nhận rằng không có cột nào lặp lại. (4.com 73 xác định một mã tam phân tuyến tính s. x2 = 2 + 4 = 0.vn .26).Lrc-tnu.e. 2.   x2   x3  x4  2 x3  2 x4 . 1.27) ta thấy các cột của H thỏa mãn các điều kiện quy định cho một mã s. Ví dụ. và các từ mã tương ứng là 1012. x4 = 2 thì x1=2 +2 =1. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. bởi vì không có cột nào là bội của các cột khác.25) thực sự là một mã tam phân Hamming chiều dài 4 với hai bit kiểm tra và hai bit thông tin.2 = 1 theo môđun 3):  x1   x3  2 x4  2 x3  x4 .www. Đối với mã này. Lấy x3 và x4 là chữ số thông tin. 11 3  4.26) Các chữ số x3 và x4 độc lập có thể lấy giá trị 0. các giá trị của các chữ số kiểm tra nhận được từ (4. x1  x3  2 x4  0 . 12 3 5.25). Điều này cho x2  x3  x4  0 . Để xác minh điều này.

00…010. …. Những số này được chọn theo chiều tăng của biên độ. Nếu s = 0 thì coi từ mã r đã được truyền đi.. thì s  ehi .com 74 4. nghĩa là: 00. trong đó 0  q  m và s1 là số đầu tiên khác 0 của s.. …. (4. 0. (2) Các cột của ma trận kiểm tra H kích thước m  n là các véc tơ cột tạo bởi các số cơ sở p với m chữ số đầu tiên. (4) Mã có khoảng cách tối thiểu 3. và là hoàn hảo.01. (5) Để giải mã một p-từ r  rr2 . s2.. và chứa p k từ mã. Các tính chất của p-mã Hamming [n...vn . Bất kì hội chứng khác không s có m phần tử..edu.28) (3) Các chữ số kiểm tra ở tại các vị trí mà tại đó những cột của H có các số khác 0 đơn bằng 1. .k] (1) Mã có chiều dài n   p m  1 thước k  n  m . s1. c3 . Khẳng định mã là hoàn hảo trong (4) cần được chứng minh.30) cho: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. ….Lrc-tnu.. trong đó e  0 và e p ...1. c2 .29) có q số 0.www. trong đó chữ số đầu tiên khác không là 1.   (4.7. kích s  Hr  mod p  . Một lỗi đơn biên độ e được coi là tại chữ số thứ i.rn nhận được.1).29) với e lần phần tử tương ứng trong (4. 0.011. Ngược lại. 00. 0. 00…01(p . và chữ số được sửa là ri  e . sửa được mọi lỗi đơn.VNMATH.. m chữ số kiểm tra. cm p  .… (4. 00…0100. 0. Ta phải chỉ ra rằng mỗi hội chứng khác 0 là bằng e lần một cột nào đó của H. và hi là cột thứ i của H.30) So sánh mỗi phần tử trong (4. trong đó e ≠ 0 và e p . sm – q].. với mọi si  p . và có thể được viết trong dạng chuyển vị [0. ta tính các hội chứng 1  p  1 . 00…012. Để s  e lần một cột của H thì cột của H phải có dạng: 0.

theo tính chất (5) thì có một lỗi e  2 ở chữ số thứ tư.27).VNMATH. 110. 013. 131.73  1019 từ mã.120. s2  ec2 .vn .0      2 1  sH       2   (mod 5) . 124. 9.2  1.123. 0  1 0 1 2  0  1. smq  ecmq . Các số với ba chữ số trong cơ số 5 nhận được từ (4. Điều này chỉ ra rằng.25). 2. b) Khi p = 3. và ma trận kiểm tra H là (4. chiều dài của mã được cho bởi tính chất (1) là: n   53  1  5  1 và k = 31 – 3 = 28. 104. 144. và có 528  3. 103. 100. …. s3  ec3 . và 100. 133. p (4. bởi vậy. do đó từ mã được truyền đi là 1201.edu. …. 114. 113. 010. 26. Chúng được sử dụng như các cột của ma trận kiểm tra 3x31 tương ứng với 001.121. xác nhận rằng những số này đã được sắp xếp theo thứ tự tăng dần. 111. c3  s11 s3 . 140. 014. do đó (4. Chữ số cần sửa của từ nhận được là r4  2  0  2  1 mod3 . 101. 134. 48.12 Các p-mã Hamming a) Khi p  5 và m  3 . 011.122.28) là: 001.com 75 s1  e.30) thực sự biểu diễn cột của H hay mã là hoàn hảo.Lrc-tnu.0  1. Theo (4. 141. 130. 49. cmq  s11smq . …. Giả sử một từ nhận được là r = 1200. 7. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.24) ta có 1  1   2  0 1 1 1  2  0.32) có thể được giải được: c2  s11s2 . 112. e1  s11  p đều có số nghịch đảo. mỗi phần tử của riêng. 132.0  2. Các số (4. (4. Ta có thể kiểm tra rằng trong hệ thập phân 31 số trên tương đương với các số 1.www. Ví dụ 4. 143. 102. 012.1  0. 25. m = 2 mã có chiều dài n   32  1 /  3  1  4 . Nói . 010. 142.28) được liệt kê trong (4.0  1    2     0  0  Hội chứng này gấp 2 lần cột thứ tư của H.2  1.31) Khi p là số nguyên tố.1  1.

com 76 c) Khi p = 5 và m = 2 chiều dài của mã là 5 n 2  5  1  1  6 và k  6  2  4. từ mã được truyền đi là 202143. 14.2  1. d) Khi p =3. Vì vậy.   1 0 1 2 0 1 2 0 1 2 0 1 2    Các chữ số kiểm tra là x1 . 12.vn . Chuyển những số này thành những cột theo cách thông thường tạo ra ma trận kiểm tra 0 1 1 1 1 1  .3  3  sH    mod5 . 13.0  1.2  0. 10.0  1. 11.2  1.VNMATH.edu. H  1 0 1 2 3 4   chứng là: (4. được sửa thành 2 – 3 = 1= 4. m = 3 mã tam phân Hamming có chiều dài 3 3  1 /  3  1  13 . và có 310  59.049 từ mã. kích thước k = 13 – 3 = 10.28) để nhận được các cột của ma trận kiểm tra 0 0 0 0 1 1 1 1 1 1 1 1 1  H  0 1 1 1 0 0 0 1 1 1 2 2 2  .www. Đổi các số trong (4.2  2.Lrc-tnu.1  3.1  1.32) Giả sử từ đã nhận được là r  202123. do Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.28) với hai chữ số theo thứ tự tăng dần là: 01. x2 và x5 . Những số cơ số 5 trong (4. Nếu một từ r1 =1102112100112 nhận được thì ta có thể kiểm tra rằng s = H r1 = 0. có một lỗi e = 3 trong chữ số 3 thứ năm của r.2  1. Sử dụng H trong (4.32). hội 2 2 0  0       2  0 1 1 1 1 1   2  0.2  4.   1  1 0 1 2 3 4  1  1.3 4        2 2     3  3      1  Dễ dàng thấy rằng s  3    3h5 .

2.   1    Chữ số thứ ba của r2 được sửa chữa là 0  1  2 . Phần thứ hai của ISBN. Điều này là bởi vì ISBN được xác định với số học môđun 11.1. các từ mã r1 đã được truyền đi. ISBN là một mã từ gồm 10 chữ số x1x2 . Canada.9 (ngoại trừ các chữ số kiểm tra). được ký hiệu là X (chữ số La Mã có giá trị là 10).. Ví dụ.edu.. hoặc nhóm các quốc gia. nhưng chữ số kiểm tra x10 có thể nhận thêm giá trị x10 . ký hiệu quốc gia. Đan Mạch có x1 x2 = 87.. Những chữ số đầu tiên của một ISBN. từ mã được truyền đi là 1020101220120.com 77 đó. mã sách tiêu chuẩn quốc tế (ISBN).VNMATH.5). để mã được định nghĩa trên trường hữu hạn 11 . và Thụy Điển x1 x2 =90.vn . x1 = 3 chỉ ra một cuốn sách được xuất bản bằng tiếng Đức.4). Vương quốc Anh...x10 . ta có thể tính s  Hr2  1   h3 . mặc dù số học modula rất khác nhau giữa đồng dư 9 và 10 hoặc 11 tùy theo những mã đặc biệt. ngân phiếu Mỹ (ví dụ 2.2.2 là số hiệu hàng hóa châu Âu (EAN) cho sách. Mã thập phân Một số mã thập phân đã được gặp trên số hiệu hàng hóa châu Âu (EAN) (ví dụ 2.. Australia và một số nước khác.www. §5. 5. Nếu một từ khác r2 = 1000101220120 0  nhận được. Hàng số ở dưới thấp hơn trong Hình 1. thí dụ như trong Hình 1. được gọi là "nhà xuất bản tiền tố" (Publisher Prefix) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Điểm đặc trưng chung của chúng là các chữ số của từ mã thuộc 1. được gọi là 'nhóm định danh' (Group Identifier). x1  0 được sử dụng cho tất cả các sách (cho dù là bằng tiếng Anh hoặc không) được xuất bản tại Hoa Kỳ. trong đó x1 đến x9 là các chữ số thập phân.Lrc-tnu. Mã số sách tiêu chuẩn quốc tế (ISBN) Mỗi cuốn sách hoặc văn hóa phẩm xuất bản được đồng nhất bởi ISBN của nó.

4) Tương tự.3) là số thập phân có ba chữ số abc thì (5.  10 x10 i 1 10 (5.2) Những dấu gạch nối thường được chèn vào giữa những phần khác nhau Đặt tổng (5. ba.edu. i 1 9 (5.www. có nghĩa là. trước khi có các máy tính giá rẻ.1) và (5.1) S=  s1s2 s3 10 . đó là số được gán cho những cuốn sách cụ thể của nhà xuất bản.2.2) tương đương với s1  s2  s3 ≡0 (mod 11).1) bằng không. Chiều dài của số tiêu đề phụ thuộc vào độ dài của các phần trước của ISBN. do đó.Lrc-tnu. (5.3) Điều này cho phép tính chữ số kiểm tra theo chín chữ số đầu tiên của ISBN. ví dụ.com 78 có thể bao gồm hai. nếu trong (5.VNMATH. là kí hiệu của Prentice Hall. người ta đã tạo ra một bảng sử dụng rất đơn giản cho các thủ thư. sáu hoặc bảy chữ số. Bảng này chỉ cần làm các phép cộng mà không cần phép nhân nào. ISBN được đưa vào sử dụng khoảng năm 1968.3) được rút gọn thành x10   a  b  c  mod11 . Những chữ này đồng nhất với nhà xuất bản.2) được kiểm tra những quy tắc dưới đây: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www..vn . ví dụ như những chữ số x2 x3 =13. và sử dụng -10 ≡ 1(mod 11) ta đi đến biểu diễn x10   ixi  mod 11 .. Chữ số cuối x10 là chữ số kiểm tra. Tất nhiên. 053101 trong Hình 1. nhưng Identifier Group. S  0  mod 11 .3) bằng cách sử dụng máy tính. bốn. (5. dễ dàng để tính toán tổng trong (5. của ISBN. Dễ dàng thấy rằng nếu tổng bên phải của (5. năm. Tuy nhiên. thì (5. Phần thứ ba của ISBN có thể dài từ một đến sáu chữ số và là "Số tiêu đề" (Title Number). và được chọn sao cho tổng kiểm tra S   ixi  x1  2 x2  3x3  . Publisher Prefix và Title Number luôn có tổng là chín chữ số.1) là một bội số của 11. Điều kiện (5. nhưng không có ý nghĩa toán học.

Ví dụ 5.www. b3 trong cột bên cạnh bên phải được tính theo các mũi tên sau. Thỏa mãn điều kiện đúng của ISBN. a2 . và trong cột đầu tiên là x1 .2). Tổng kiểm tra S trong (5.. Để kiểm tra (3). và số cuối cùng trong dòng dưới cùng là T2  10 x1  9 x2  8x3  .. x1 . x2 .2. Hàng đầu a1 b1 a2 a3 b2 = a2 + b1 b3 = a3 + b2 (3) Điều kiện (5. ta dễ dàng thấy rằng T2 + S = 11 T1 ...2) là: 3880531013  1 3  2  8  3  8  4  0 5  5  6  3  7  1  8  0  9  1  10  3  3  5  2  3  7  7  9  8(mod 11)  0(mod 11). ta xây dựng bảng như sau: … x10 … T1 x1 x1 x1 x2 ( x1 + x2 ) (2 x1 + x2 ) x3 ( x1 + x2 + x3 ) x4 ( x1 + x2 + x3 + x4 ) (3 x1 + 2 x2 + x3 ) (4 x1 +3 x2 +2 x3 + x4 ) … T2 Ta có thể kiểm tra rằng T1  x1  x2  x3  . T2 ≡ 0(mod 11) khi và chỉ khi S ≡ 0(mod 11). (2) Nếu các số trong một cột là a1 .VNMATH. a3 thì các số b2 . x1 .vn .1 (Kiểm tra một ISBN) Xét ISBN 3880531013 như trong Hình 1. trong đó S là tổng trong (5. Các mục trong dòng đầu tiên là x1 ..  2 x9  x10 .edu. x10 .Lrc-tnu.  x10 . do đó..2) tương đương với chữ số cuối cùng trong dòng dưới cùng của bảng là 0(mod 11). Việc áp dụng các quy tắc (2) có thể làm đơn giản bằng cách thực hiện từng phép cộng riêng lẻ theo môđun 11 trong quá trình xây dựng mảng.com 79 (1) Xây dựng một mảng với ba hàng và mười cột. Hơn nữa... Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. đúng như trên. Qui trình này cũng cho phép ta dễ dàng tìm được chữ số kiểm tra nếu biết các giá trị của x1 đến x9 . Hai cột cuối của mảng sẽ là: 1 7 1 x10 x10 + 7 x10 +8 Và đòi hỏi x10 + 8 ≡ 0(mod 11) cho giá trị x10 =3. Trong ví dụ này.www.Lrc-tnu. Bảng đơn giản hơn bảng trên sẽ là: 3 3 3 8 0 3 8 8 0 0 8 8 5 2 10 3 5 4 1 6 10 0 6 5 1 7 1 3 10 11 (5. Phiên bản đơn giản hơn của bảng này sử dụng phép cộng theo môđun 11 trong suốt quá trình.com 80 Hình 1. 3  0  3 mod11 . giả sử x10 chưa được biết. các mục trong cột thứ hai giảm thành 8  3  0 . 3 3 3 8 11 14 8 19 33 0 19 52 5 24 76 3 1 0 28 1 3 ISBN 27 28 103 131 29 32 159 188 220 Số cuối cùng của dòng dưới cùng là 220 đồng dư với 0 (mod 11).VNMATH.edu. mảng được cấu tạo như sau.vn .4) ISBN Và số cuối cùng là 11 đồng dư với 0 (mod 11). Ví dụ.2 Sử dụng những quy tắc (1) và (2).

do đó. liền kề) ngẫu nhiên bị đổi chỗ.4) hoàn toàn như trước.www.Lrc-tnu. Thậm chí giả thiết thông thường thích hợp nhất là chỉ có một lỗi đơn trong một chữ số. nhưng không phải nhất thiết. Phương trình (5.VNMATH.4). Đó chính là giá trị của các chữ số bị mất. Bởi vậy x  51  4  9  4  36  3 .5) chỉ đơn giản bằng cách thử x  1.vn . thì cũng không đủ để sửa một lỗi như vậy. hoặc sử dụng các mảng đơn giản (5. 3 cho đến khi nhận được giá trị đúng là x  3 .com 81 Ví dụ 5. Năm cột đầu tiên (5.5) trong 11 cho nghiệm duy nhất. Chú ý rằng do 11 là số nguyên tố nên tồn tại phần tử nghịch đảo trong 11 .edu. Nếu không biết những chữ số nào lỗi thì có thể đã được truyền đi nhiều ISBN.5) 5x  7  4  mod11 . Để thấy Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. ta có thể giải (5. Tuy nhiên. 2. Hoặc là tính S từ (5.1 đã vô tình bị mất. Yêu cầu số cuối cùng ở 5x  7  0  mod11 . Giả sử nhận được số thập phân gồm 10 chữ số thập phân và phát hiện ra nó không có trong ISBN.2). nhưng phần còn lại của mảng đó bây giờ là 5 x 1 x+3 2x+4 0 x+3 3x+7 1 x+4 4x 3 x+7 5x+7 2 x+2 10 dòng dưới là x+1 trong đó các tổng đã được lấy đồng dư theo mod 11. Lời giải là (5. Ngoài ra. mã ISBN phát hiện mọi lỗi trong đó hai chữ số (thông thường. ISBN có dạng 38805 x1013 .2 (Sửa ISBN) Giả sử rằng chữ số thứ sáu (bằng 3) trong ISBN ở ví dụ 5.

.j) và tích này không thể đồng dư với 0 (mod 11) vì mỗi số hạng đều khác không.com 82 điều này. mã kết quả chỉ còn chứa các chữ số thập phân đúng (các chữ số 1.. i 1 10 (5. Giả sử một lỗi đơn e xảy ra ở vị trí thứ i của một từ mã đã được truyền đi. Mã sửa lỗi đơn Mã ISBN hiện nay đã được cải tiến để sửa lỗi đơn. khi ấy từ nhận được r có ri = xi +e.xk )(k .2) chứa các số hạng j xk +k x j thay vì j x j + k xk . .... Nếu như biết hai chữ số liền kề đã được đổi chỗ thì lỗi này có thể sửa được.. (5. x10 thỏa mãn với các phương trình kiểm tra trong (5.8) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. 5. Dễ dàng thấy rằng tổng kiểm tra sai khác là ( x j . Do đó tổng kiểm tra cho từ nhận được không đồng dư với 0 (mod 11). Những phương trình kiểm tra này xác định một 11-mã..edu. x2 .6) bổ xung thêm một phương trình kiểm tra tính chẵn lẻ S 2   xi  0  mod 11 .2.www. và từ nhận được có x j và xk bị đổi chỗ. vì vậy S1  ie  mod11 . Như đối với mã ISBN..1) như mã ISBN. với j  k và x j  xk (nếu x j = xk thì không có lỗi). 9). 2.7) Vì có hai phương trình kiểm tra nên bây giờ có hai chữ số kiểm tra x9 và x10 .vn .x10 đã được truyền đi.Lrc-tnu. nhưng bỏ qua mọi từ mã chứa chữ số X (=10).6) có một số hạng bổ xung ie..VNMATH. giả sử một ISBN đúng x1 x2 . với từ r nhận được tổng kiểm tra (5. Mã này bao gồm các từ mã có 10 chữ số x1 . vì vậy lỗi được phát hiện. cụ thể là S1   ixi  0  mod 11 i 1 10 (5. Cho từ nhận được ta có tổng kiểm tra S trong (5.

Nếu S1  0 và S2  0 thì giả thiết một lỗi duy nhất xảy ra tại chữ số i= S1 S 21 . Cách dễ nhất để chứng minh điều này là chú ý rằng các ma trận kiểm tra trong (5.www.9) Nếu S1 = 0. đều là 3 cho các p.3 (Các ứng dụng của lược đồ giải mã) (a) Với một từ được 0206211909 dễ dàng để tính được bằng cách sử dụng (5. nhưng khác với ISBN.S2 . Thật ra (4) luôn xẩy ra khi hai chữ số được đổi chỗ. (4) Nếu S1 =0 hoặc S2 = 0 (nhưng không cả hai) thì ít nhất hai lỗi đã được phát hiện.com 83 Tổng kiểm tra thứ hai (5.9) chính là ma trận kiểm tra cho 11. mã này có thể phát hiện tất cả các lỗi xẩy ra trên hai chữ số. tính hội chứng Hr   2  với  S1  H  (2) (3) 1 1 1 1 1 1 1 1 1 1  . 0 1 2 3 4 5 6 7 8 9 10   nhưng bỏ đi hai cột đầu tiên. và từ (5. Thuật toán giải mã cho mã này là như sau.mã Hamming H  0 1 1 1 1 1 1 1 1 1 1 1 1 .vn . Điều này không làm thay đổi khoảng cách tối thiểu.mã Hamming.7) là Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Điều này là vì mã có khoảng cách tối thiểu là 3. S2 = 0 thì không có lỗi.edu.8) vị trí của lỗi này là: i  S1e1  mod11  S1S21  mod11 . và chữ số chính xác là ri .7) trở thành S2 ≡ e (mod 11). 1 2 3 4 5 6 7 8 9 10  (5.6) và (5. trong đó tất cả các phép toán đã được lấy đồng dư theo mod 11: (1) S  Với từ nhận được r.VNMATH. Ví dụ 5.Lrc-tnu. Vì thế biên độ của lỗi này là e ≡ S2 (mod 11). và từ mã r đã được truyền đi.

Giả sử một từ mã x1 x2 . Ta bắt đầu với mã s. từ mã được truyền là 0206241909. khi ấy từ r nhận được có ri = xi + e1 . trong đó: (5.12) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. x8 . Một số tính toán đại số thích hợp dẫn đến kết quả là i và j (các vị trí của lỗi) là hai nghiệm của phương trình bậc hai: a x 2 + bx + c = 0. những lỗi trong hai chữ số của một từ mã. Bây giờ ta có thể mô tả mã sửa được tất cả các lỗi kép.vn .c và chọn những từ mã thỏa mãn ngoài (5. x10 .  . Do đó theo bước (3) ở trên.11) Bốn phương trình trong (5. Theo bước (4) có ít nhất hai lỗi trong từ nhận được.  (5. trong trường hợp tốt nhất. rj = x j + e2 .10) Bây giờ có bốn chữ số kiểm tra x7 . Từ các biểu diễn của tổng kiểm tra suy ra rằng trong trường hợp này: S1  ie1  je2 . S2  30  8 mod 11 .www. i 1 10 (5. (b) Với từ nhận được 5764013052 ta kiểm tra S1 ≡1 và S2 ≡0(mod 11).. S2  e1  e2 . S3  i 2e1  j 2e2 .com 84 S1  213  4  mod 11 . Vì vậy chữ số thứ sáu của từ nhận được được sửa lại là r6  8  1  8  7  4(mod 11).3. 5.Lrc-tnu. e1 ..7) còn thêm hai phương trình kiểm tra S3   i 2 xi  0  mod 11 i 1 10 và S4   i 3 xi  0  mod 11 .edu.VNMATH. một lỗi duy nhất đã xảy ra ở vị trí thứ i.x10 đã được truyền và hai lỗi xảy ra ở các vị trí thứ i và thứ j với biên độ e1 và e2 tương ứng. nghĩa là. do đó. với i  4  81  4  7  28  6  mod 11 .11) sẽ giải được đối với bốn ẩn số i. và yêu cầu truyền tin lại. S4  i 3e1  j 3e2 . Mã sửa lỗi kép Các mã được trình bày ở trên có khả năng.e. sửa được các các lỗi đơn. j. x9 . e2 .6) và (5.

thì rất dễ dàng giải hai phương trình đầu tiên trong (5.. 10  . c = 0. tính hội chứng S  H .15) được cho bởi: Các căn bậc hai của phần tử q (nếu chúng tồn tại) trong q q 1 1 hoăc10 3 5 hoăc 6 4 2 hoăc 9 5 4 hoăc 7   . 1  .14) Lưu ý là nếu chỉ một lỗi xảy ra.Lrc-tnu. 3 hoăc8  9 (5. S3 = i2e1. e2 ≠ 0 thì trong (5. j  b  b 2  4ac . 102   . thí dụ . (5.vn . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.. 2a 11 (5. 1 e1  S2  e2 .www. S2 = e1.com 85 a  S12  S2 S3 . (5.edu. b  S2 S4  S1S3 .11) để được e2   iS2  S1   i  j  ...r   1  . .13) ta được a = 0.. trong đó tất cả các tính toán số học được lấy theo môđun 11:  S2  S  (1) Với một từ r nhận được. 103  (5.VNMATH. với e1≠ 0. và thay thế các giá trị này vào (5.. b = 0. S4 = i3e1.16) Thuật toán giải mã cho mã này như sau.13) Khi i và j đã được tìm thấy.11) S1=ie1.17) (2) Nếu S = 0 (có nghĩa là. Nghiệm của phương trình bậc hai (5. và từ mã r đã được truyền đi.. c  S32  S1S 4 .12) có dạng i. S1 = S2 = S3 = S4 = 0) thì giả thiết không có lỗi.. trong đó  S3     S4    1 1 1 2 H  1 22  3 1 2 1 3 32 33 1 4 42 43 .

S2. (4) Nếu S ≠ 0 và a ≠ 0.14). S2   xi  1. mã này sửa được tất cả các lỗi kép. thì có một lỗi đơn xảy ra tại chữ số i= S1S21 . (3) hoặc (4) không thỏa mãn. bởi vì các số này không có căn bậc hai trong 11 . Từ (5.6). Ví dụ 5.edu. (5. và chữ số được sửa là ri – S2. 7. 8. theo Định lý trong §3.4 (Ứng dụng của thuật toán giải mã) (a) Giả sử một từ được nhận là 3254571396. Các chữ số này được sửa là ri – e1. 6. S4   i 3 xi  3 .15).vn . trong đó e1 và e2 được cho bởi (5. và lấy tích theo môđun 11 của dòng đầu tiên của bảng với các hàng tiếp theo ta được: S1  1 3  2  2  3  5  4  4  5  5  6  7  7 1  8  3  9  9  10  6  2 Và tương tự S3   i 2 xi  10 . Để thuận tiện cho việc tính toán ta đưa ra bảng sau: xi i 3 1 1 1 2 2 4 8 5 3 9 5 4 4 5 9 5 5 3 4 7 6 3 7 1 7 5 2 3 8 9 6 9 9 4 3 6 10 1 10 i2 i3 Trước tiên. c ≠ 0. do đó.16). khi đó giả thiết là có lỗi ở các vị trí thứ i.8) được tính toán với số học môđun 11.13) ta có Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. thì có ít nhất ba lỗi đã được phát hiện.www. S3 và S4 trong (5.16) ta thấy rằng điều này bao gồm cả các trường hợp (4) khi q nhận một trong giá trị 2.Lrc-tnu.com 86 (3) Nếu S ≠ 0 và a = b = c = 0. Từ (5. j cho bởi (5. rj – e2 .7) và (5. (5) Nếu các điều kiện (2). Các tổng S1. và q = b2 – 4ac có một giá trị căn bậc hai trong 11 theo (5. Có thể chỉ ra rằng mã có khoảng cách tối thiểu là 5.VNMATH.

6 = 5. Lặp lại những tính toán trên cho S1  9 . Từ nhận được khi ấy được giải mã là 3214574396.8 = 4.40  3.16) ta được i. Từ (5.www. Do đó các điều kiện trong bước (4) của thuật toán được thỏa mãn.8 = 1 .vn . b = 1.4ac trong bước (2) là: Q = 25 – 4  5  6 = .4 = 5 . Nhận xét rằng sử dụng giá trị 4  9 trong (5.7 = 4. c = 5. Vậy có hai lỗi đã được truyền đi.14) là e2   3  1  2  3  7   7 1  8 và e1 = 1 . S3 = 10. c = 100 – 2  3 = 6. j  7  10  7 . Nghĩa là q  2 trong (5.4 = 1 và r7 . S4 = 2 và a = 0. S2 = 7. Bởi vì a = 0 nên từ Bước (5) của thuật toán suy ra có ít nhất ba lỗi được phát hiện và yêu cầu truyền tin lại.com 87 a = 4 – 1  10 = . Vì vậy. Do đó các giá trị chính xác của các chữ số thứ ba và thứ bảy là r3 . j   5  2101 . vô lí.16).15) các lỗi này xảy ra ở các vị trí i.17 = 5. Cũng chú ý rằng điều kiện c ≠ 0 trong Bước (4) là cần thiết cho việc sửa chữa hai lỗi.95 = 4.7 như trên khi chọn giá trị 4  2.8 = . đại lượng q = b 2 . Vì 101  10 nên i  3  10  30  3 . vì nếu c = 0 thì (5. b = 1  3 – 2  10 = .edu. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.VNMATH.Lrc-tnu.12) có một nghiệm i = 0. j   5  9101   5  910  30. 1 Biên độ của các lỗi tính được từ (5. (b) Giả sử một từ được nhận là 4063101012.

Hy vọng rằng chương trình toán sơ cấp sẽ được bổ xung những mảng kiến thức toán này... toán rời rạc. Ứng dụng lý thuyết số nói riêng.…). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. công cụ toán học nói chung (đại số tuyến tính. Điều này có thể xem thêm trong các tài liệu tham khảo [1]..Lrc-tnu. lý thuyết mật mã. học sinh phổ thông hoàn toàn có đủ khả năng tiếp thu những kiến thức mới có nhiều ứng dụng này (hệ đếm. luận văn có mục đích tìm hiểu và trình bày những kiến thức.edu. thậm chí cấp Trung học cơ sở). nhiều thành tựu toán học tưởng chừng như chỉ có ý nghĩa về lý thuyết.VNMATH. hệ đếm.www. mã sửa sai.…) cho phép nhận được nhiều kết quả quan trọng trong mã sửa sai. Nhiều kiến thức toán học tưởng chừng như sơ cấp (được giảng dạy trong trường phổ thông. lý thuyết đồ thị. lại mang đến những ứng dụng quan trọng và bất ngờ trong thực tế. Qua đây ta cũng thấy rằng. nhưng có thể giảng dạy trong mối liên kết với những thành tựu ứng dụng mới trong tin học và đời sống. [6]. cũng như trong lý thuyết mật mã. [7]. những kết quả cơ bản.com 88 KẾT LUẬN Dựa trên cơ sở của lý thuyết đồng dư và trường hữu hạn.vn . Hơn nữa. sơ đẳng nhất của lý thuyết mã sửa sai.

Addison Wesley Longman. Mã hóa thông tin: Cơ sở toán học và ứng dụng.Lrc-tnu.com 89 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Huy Điển. Nhà xuất bản Đại học Quốc Gia. Hà Nội. 2004. Lý thuyết & ứng dụng. Hà Huy Khoái.VNMATH. [4] Hà Huy Khoái. 1996. 2004. Nguyễn Đình Thúc. 2000. Lý thuyết số. [7] Sebastià Xambó-Descamps. Discrete Mathematics: Numbers and Beyond. [5] Hà Huy Khoái. Hà Nội. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www. Nhập môn Số học thuật toán. Mã hóa thông tin. Nhà xuất bản Đại học Sư phạm. Block Error-Correcting Codes. [3] Bùi Doãn Khanh. Số học thuật toán: Cơ sở lý thuyết và Tính toán thực hành. Hà Nội. Nhà xuất bản Lao động Xã hội. Phạm Huy Điển. [8] Một số trang WEB và tạp chí Toán. 1998. Nhà xuất bản Đại học Quốc gia.edu. Hà Nội. 2007. Nhà xuất bản Khoa học. 2003. Tiếng Anh [6] Stephen Barnett. [2] Nguyễn Hữu Hoan.vn .www. A Computational Primer. Thành phố Hồ Chí Minh. Springer-Verlag. Singapore.

You're Reading a Free Preview

Tải về
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->