6. Thử nhóm bất ứng biến giải mã nhanh
6.1. Ý tưởng của Kautz-Singleton
Hồi 1964, Kautz và Singleton đề xuất cách xây dựng ma trận -phân-cách dựa trên hai ý tưởng chính. Thứ nhất là nếu các cột của ma trận có “cân nặng” (số số
trên cột) đủ lớn và nếu hai cột bất kỳ có phần giao đủ nhỏ thì ma trận sẽ là ma trận phân cách. Thứ hai là ta có thể dùng phương pháp nối mã (code concatenation) để xây dựng một ma trận thỏa tính chất thứ nhất. Chúng ta thảo luận ý tưởng của Kautz-Singleton trước, sau đó chỉ ra cách dùng ý tưởng này và một ý mới để xây dựng ma trận phân cách giải mã nhanh được.
Bổ đề 1 Gọi
là một ma trận nhị phân
mà mỗi cột có cân nặng ít nhất là
, và phần giao của hai cột bất kỳ (các số
chung của hai cột) có lực lượng nhiều nhất là
. Thì,
là ma trận
-phân-cách với bất kỳ
nào thỏa mãn
. Cụ thể là
sẽ là ma trận
-phân-cách.
Bổ đề này dễ chứng minh. Ta nói tiếp ý tưởng thứ hai. Trước hết hãy định nghĩa phép nối mã.
Gọi là một mã
, nghĩa là một ánh xạ từ
vào
, trong đó
. (Phép nối mã có thể định nghĩa tổng quát hơn, nhưng ta không cần điều đó.) Như vậy, mỗi ký tự mã của
là một thành viên của tập
gồm
phần tử, và vì thế cũng có thể xem như một thành viên của tập
. Mỗi một từ mã của
có
vị trí. Mã
sẽ được gọi là mã ngoài (outer code).
Đến đây, xét mã
ký hiệu là
. Tức là, với mọi
thì
là một ánh xạ
. Các mã
được gọi là các mã trong.
Mã nối của mã ngoài và các mã trong, ký hiệu là , là một mã
được định nghĩa tự nhiên như sau. Cho một thông điệp
, gọi
. Chú ý rằng
. Thì
Nói cách khác, mỗi ký tự của một mã tự ngoài được thay bằng mã tự trong tương ứng. Một mã trong đơn giản nhất là mã đơn vị , trong đó mỗi thành viên của
được ánh xạ 1-1 đến một vector đơn vị khác nhau của
.
Bây giờ, xét là mã RS với các tham số
, và tất cả các mã trong đều là mã đơn vị
. Đặt các từ mã của mã nối vào các cột của một ma trận
. Ma trận này có kích thước
. Mỗi cột của ma trận có cân nặng bằng đúng
. Khoảng cách Hamming giữa hai cột khác nhau ít nhất là
, do đó phần chung giữa hai cột có kích thước nhiều nhất là
. Vì thế, theo bổ đề 1 thì
là ma trận
-phân-cách với
Ngược lại, nếu ta bắt đầu với và
thì ta có thể xây dựng một ma trận
-phân-cách
theo cách trên miễn là ta chọn các tham số sao cho
,
. Ta sẽ đạt được tổng số hàng
Do mã RS phải thỏa điều kiện , ta phải có
nữa. Để có
càng nhỏ càng tốt, có thể chọn
nghĩa là
. Khi đó
. Rõ ràng là
như mong đợi, và tổng số hàng của ma trận này là
. Cuối cùng, phép xây dựng này chỉ có lý khi
; điều này được thỏa mãn khi
cỡ
trở xuống. Chặn Bassalygo cho phép ta giả sử vùng giá trị đó của
.
6.2. Cải tiến ý tưởng của Kautz-Singleton
Có hai vấn đề với phép xây dựng của Kautz-Singleton. Vấn đề thứ nhất là ta vẫn không biết cách nào để giải mã hiệu quả. Vấn đề thứ hai là số hàng của ma trận vẫn còn quá lớn so với phép xây dựng ngẫu nhiên
.
Chúng ta phác thảo một ý tưởng để giải quyết vấn đề thứ nhất. Nếu dùng thuật toán giải mã ngây thơ thì tốn thời gian , quá lớn. Nếu ta có cách nào đó chỉ ra nhanh chóng một tập
cột, bao gồm cả các cột dương tính, rồi chạy thuật toán ngây thơ thì tốn thời gian chỉ ra
cột nọ cộng với khoảng
nữa mà thôi. Có thể nào tận dụng được các tính chất của mã RS không? Hãy xét vector kết quả
, trong đó
. Mỗi
là vector đặc trưng của một tập
, và do chỉ có nhiều nhất
cột dương tính, ta biết
. Hơn thế nữa, xét một cột dương tính
bất kỳ thì hiển nhiên
. (Nhớ rằng
là một vector đơn vị trong
, và vì thế có thể được đánh đồng với phần tử tương ứng trong
.) Đến đây thì định lý Guruswami-Sudan cho biết là tồn tại một thuật toán in ra tất cả các cột thỏa tính chất trên, nghĩa là bao gồm tất cả các cột dương tính, trong thời gian poly
poly
. Và, mã RS đảm bảo rằng có nhiều nhất
cột như vậy. Từ đó, thuật toán ngây thơ chỉ cần thêm
nữa thôi.
Kế đến, ta phác thảo một ý tưởng giải quyết vấn đề thứ hai. Lý do mà phép xây dựng của Kautz-Singleton cần lớn là vì ta thay mỗi ký tự trong
bằng một vector nhị phân với chiều dài
. Có mã trong nào cần chiều dài ngắn hơn mà vẫn giữ thuật toán chạy đúng hay không? Ta cần tính chất gì từ mã trong? Điều ta cần là, từ một vector kết quả con
, ta có thể chỉ ra tập
các ký tự có thể dẫn đến kết quả
một cách nhanh chóng. Và, kích thước của
phải nhỏ thôi để
nhỏ. Nhớ rằng trong định lý Guruswami-Sudan thì thời gian chạy là poly
và
nếu
với mọi
. Như vậy, một ý tưởng rất tự nhiên là tìm một ma trận
-phân-cách
với
hàng và
cột. Sau đó, thay mỗi ký tự trong
bằng cột tương ứng. Khi đó, từ vector kết quả
ta có thể chỉ ra một tập
nhiều nhất
cột, dùng cách giải mã ngây thơ chẳng hạn. Ngoài ra, vẫn phải đảm bảo là ma trận
là
-phân-cách để có thể chạy thuật toán ngây thơ một lần nữa trong thời gian
.
Trước hết, thời gian chạy của thuật toán là , vẫn chấp nhận được vì với
như trước thì thời gian chạy là poly
poly
. Kế đến, hãy bỏ qua yêu cầu rằng
là
-phân-cách để xem ý tưởng này cho ra ma trận
có kích thước cỡ nào. Ta biết rằng
chỉ cần cỡ
. Do đó,
. Và cho dù
có số hàng tốt nhất có thể có là
thì
cũng phải là
. Vì thế, để đạt đến ngưỡng
thì chúng ta phải giảm nhẹ một yêu cầu nào đó.
Cho đến đây, chúng ta vẫn dùng định lý (và thuật toán) Guruswami-Sudan với . Nếu ta giảm yêu cầu
xuống còn
hay thậm chí
thì
và do đó
vẫn đủ nhỏ để đảm bảo giải mã nhanh. Phân tích này cho thấy ta không cần
là một ma trận
-phân-cách, mà chỉ cần nó là một ma trận mà, cho vector kết quả
, ta có thể chỉ ra
cột bao gồm tất cả các cột dương tính là được. Đó là động cơ của định nghĩa ma trận
-phân cách danh sách dưới đây. Chúng ta sẽ chứng minh rằng tồn tại ma trận
-phân-cách danh sách chỉ với
hàng mà thôi. Từ đó ta sẽ có
như mong đợi.
Cuối cùng, yêu cầu rằng bản thân là
-phân-cách sẽ được giải quyết bằng một ý tưởng kỹ thuật khác. Chúng ta sẽ chọn các mã trong một cách ngẫu nhiên sao cho mỗi
có tính chất
-phân cách danh sách. Với xác suất gần
, ma trận
sẽ là
-phân cách. Để xây dựng
cụ thể, ta có thể phản ngẫu nhiên hóa phép xây dựng này bằng phương pháp kỳ vọng có điều kiện (conditional expectation method).
Chúng ta đã phác thảo toàn bộ ý tưởng chính của bài báo mới đây của Indyk-Ngo-Rudra ở hội nghị SODA 2010. Phần tới đi vào chi tiết kỹ thuật của các ý tưởng trên.
6.3. Xây dựng ma trận -phân-cách giải mã nhanh
Định nghĩa 2 (Ma trận
-phân-cách danh sách) Một ma trận nhị phân
kích thước
được gọi là một ma trận
-phân cách danh sách (list disjunct matrix) nếu nó thỏa tính chất sau đây. Lấy một tập
có nhiều nhất là
cột của
, và một tập
, không giao với
, với ít nhất là
cột của
, thì có ít nhất một hàng
mà một cột nào đó trong
chứa số
còn tất cả các cột khác trong
chứa số
.
Chú ý rằng ma trận -phân cách là ma trận
-phân-cách danh sách. Giả sử ta dùng ma trận
-phân-cách danh sách để thiết kế phép thử nhóm bất ứng biến với nhiều nhất là
mẫu dương tính, sau đó dùng phép giải mã ngây thơ để chỉ ra một tập
các cột. Dễ thấy rằng
chứa tất cả các mẫu dương tính vì phép giải mã ngây thơ không bao giờ loại bỏ một cột dương tính cả. Quan trọng hơn, ta có
vì nếu
thì
chứa tập
của nhiều nhất
mẫu dương tính và một tập
không giao với
của ít nhất
mẫu âm tính. Khi đó, phải có một cột của
bị loại bởi phép giải mã ngây thơ. Do đó, nếu ta dùng các ma trận
-phân cách danh sách làm các mã trong như trong phép xây dựng của Kautz-Singleton thì từ vector kết quả
ta có thể chỉ ra, với mỗi
, một tập
với nhiều nhất
các ký tự trong
sao cho, với một mẫu dương tính
bất kỳ thì
. Đây là phân tích ta đã giải thích trong phần trước.
Vì thế, nếu ta có thể xây dựng được các ma trận -phân cách danh sách
dùng làm mã trong với kích thước
, và nếu ma trận ngoài
là một ma trận
-phân cách, thì ta có thể giải mã
trong thời gian
Ta sẽ chọn các tham số sao cho thời gian này là poly, và sao cho
.
Trước hết, hãy nói sơ lược về cách xây dựng một ma trận -phân cách danh sách. Chú ý rằng, trong định nghĩa của ma trận phân cách danh sách, ta có thể giả sử
,
và
. Ta lại dùng phương pháp xác suất: chọn các ô trong ma trận bằng
với xác suất
và bằng
với xác suất
. Xác suất mà hai tập
và
cho trước không thỏa tính chất phân cách danh sách là
Do đó, xác suất mà một ma trận ngẫu nhiên không phải là ma trận
-phân cách danh sách nhiều nhất là
Ta cần chọn sao cho xác suất này nhỏ hơn
và
càng nhỏ càng tốt. Để xác suất này nhỏ nhất, chọn
.
nếu . Vì thế, nếu ta dùng các ma trận
-phân-cách danh sách làm các mã trong thì có thể giả sử chúng có kích thước
trong đó
.
Tiếc rằng ta cần một điều kiện mạnh hơn khá nhiều: tất cả các mã trong đều là phân cách danh sách cùng một lúc, và ma trận ngoài là -phân cách. Do đó ta phải chọn cách tham số cẩn thận hơn. Và ép xác suất của các sự kiện không mong muốn cùng một lúc.
Định lý 3 Gọi
là các số nguyên dương bất kỳ sao cho
. Định nghĩa
,
,
, và
. (Lưu ý rằng
và
.)
Gọi
là mã RS với các tham số
. Thì, tồn tại các mã trong
sao cho mỗi mã trong là một mã
và cả hai điều kiện sau đây được thỏa mãn
- (a) Đặt
, thì
là một ma trận
![]()
-phân cách.
- (b) Với mọi
,
là ma trận
-phân cách danh sách.
Trước khi chứng minh định lý trên, ta chứng minh kết quả chính của loạt bài này, là hệ quả của định lý.
Hệ quả 4 Cho
là các số nguyên bất kỳ. Ta có thể xây dựng được ma trận
![]()
-phân cách với
giải mã được trong thời gian
.
Chứng minh: Để đơn giản, hãy quên đi việc các tham số là số nguyên. Trước hết, giả sử . Đặt
và
. Khi đó
. Định lý 3 và Bổ đề 1 hoàn tất chứng minh dễ dàng.
Khi ta có thể bỏ đi
cột tùy ý khỏi một ma trận
-phân cách giải mã nhanh được.
6.4. Chứng minh Định lý 3
Ta chọn các mã trong một cách ngẫu nhiên, và độc lập với nhau. Gọi các mã trong là , và ma trận tương ứng là
. Với mỗi
, chọn
là ma trận nhị phân với kích thước
một cách ngẫu nhiên bằng cách gán mỗi ô giá trị
với xác suất
. Tất cả các ô được chọn độc lập.
Trước hết, ta chặn xác suất mà điều kiện (a) thỏa, nghĩa là là ma trận
-phân cách. Để cho tiện, viết
và
.
Theo Bổ đề 1, là ma trận
-phân cách nếu hai sự kiện sau đây cùng đúng:
- (i) Mỗi cột có cân nặng ít nhất
.
- (ii) Hai cột bất kỳ có phần giao kích thước nhiều nhất là
Xét sự kiện (i) trước. Một cột bất kỳ của đều là một vector ngẫu nhiên trong
mà mỗi vị trí được gán bằng
với xác suất
. Do đó, chặn Chernoff cho ta biết xác suất mà một cột của
có cân nặng
nhỏ hơn
. Có tất thảy
cột, do đó xác suất mà một cột nào đó có cân nặng
nhỏ hơn
. (Nhớ rằng
.)
Xét sự kiện (ii). Xét hai cột tùy hỉ . Do mã ngoài
là mã RS với khoảng cách tương đối ít nhất là
, mã từ thứ
và thứ
trong
phải bất đồng ở một tập các vị trí
nào đó thỏa
. Gọi
và
là hạn chế của cột thứ
của
trên các vị trí trong
và
, theo thứ tự. Tương tự, gọi
và
là các hạn chế tương ứng của cột
. Chúng ta cần chặn biến ngẫu nhiên
.
Hãy bắt đầu với . Theo định nghĩa của
và
,
chẳng qua là một vector mà mỗi tọa độ được gán bằng
độc lập nhau với xác suất
. Vì thế, chặn Chernoff suy ra
Kế đến, ta chặn . Chú ý rằng
và
là một vector ngẫu nhiên trong
mà mỗi tọa độ được chọn độc lập bằng
với xác suất
. Một lần nữa, Chernoff cho ta biết xác suất mà
nhiều nhất là
.
Từ đó, xác suất mà ít nhất là
. Do có tất thảy
chọn lựa cho
và
, ta kết luận rằng điều kiện (ii) không thỏa với xác suất nhỏ hơn
. Tổng kết lại thì điều kiện (a) không thỏa với xác suất nhỏ hơn
.
Bây giờ, ta chặn xác suất mà điều kiện (b) thỏa. Chúng ta sẽ chứng minh rằng, với mọi ,
không là ma trận
-phân cách danh sách với xác suất nhỏ hơn
. Từ đó, dùng
, ta kết luận rằng điều kiện (b) không thỏa với xác suất nhỏ hơn
. Như vậy, với xác suất ít nhất
cả hai tính chất (a) và (b) đều thỏa. Và vì thế, định lý được chứng minh xong.
Phần còn lại là chặn xác suất mà không là ma trận
-phân cách danh sách. Ta dùng phương pháp như đã dùng trong mục 6.3.; xác suất mà một
nào đó không là ma trận
-phân cách danh sách sẽ nhỏ hơn
trong đó bất đẳng thức cuối cùng đúng là do .
Một điểm cuối cùng cần lưu ý là ta có thể phản ngẫu nhiên hóa bằng phương pháp kỳ vọng có điều kiện để xây dựng cụ thể ma trận luôn mà không cần chọn nó một cách ngẫu nhiên. Kết quả này đơn giản nhưng lắt nhắt về mặt chi tiết.

2 Comments
Có typo: Do đó, \href{http://www.cse.buffalo.edu/ {\leq t/(20d)} nhỏ hơn {e^{-t/(120d)}}…..
Bác Hưng dùng chữ “thỏa” thay vì “thỏa mãn” ạ?
Cảm ơn bác Long, tôi đã sửa lại. “Thỏa” theo nghĩa “thỏa điều kiện”, hy vọng là không tù mù quá. Do tôi lười.