Vì sao định lý thặng dư Trung Quốc có thể dùng để mã hóa máy tính?

Chúng ta đã biết đến định lí thặng dư Trung Quốc, tức vấn đề Hàn Tín điểm binh, đó là một thành tựu quan trọng trong toán học Trung Quốc cổ đại, với nội dung thuộc về giải pháp dãy đồng dư một lần trong lí thuyết số. Hiện nay, người ta đã tìm ra công dụng mới của thứ kiến thức cổ xưa này trong việc mã hóa máy tính.

Đáp án cho bài toán Hàn Tín điểm binh có thể là rất nhiều, giữa chúng lại có tương sai là 105 (tức 3 x 5x 7), song đáp án trong vòng 105 thì lại chỉ có một. Bây giờ chúng ta hãy giản hóa chúng: những số nguyên nào có thể chia 3 thì dư 2, chia 5 thì dư 3? Không khó để tìm ra là 8, 23, 38, 53,..., giữa chúng có tương sai 15 (tức 3 x 5). Còn đáp án cho trong vòng 15 chỉ có một: 8. Vậy thì, với đề bài như vậy có thể có bao nhiêu bài toán? Bài toán chia 3, số dư có thể là 0, 1, 2, tổng cộng 3 loại; Bài toán chia 5, số dư có thể là 0, 1, 2, 3, 4, tổng cộng 5 loại, hợp lại tổng cộng 3 x 5, tức 15 loại. Nghĩa là có thể có 15 đề bài như vậy, đáp án không giống nhau, hơn nữa đáp án trong vòng 15 thì lại chỉ có một. Có thể thấy, đáp án cho 15 đề bài này vừa vặn tương ứng với 1, 2, 3,..., 15.

Bây giờ, điền 15 số này vào hình vuông 3 hàng 5 cột (3 x 5), sao cho hàng ngang là các số chia cho 3 có dư; hàng dọc là các số chia cho 5 có dư. Ví dụ 8 là số chia cho 3 dư 2, thì điền vào hàng thứ hai, nó lại là số chia 5 dư 3, thì điền vào cột thứ ba.

Bất cứ một máy tính nào cũng đều có một độ dài từ (word length) nhất định. Độ dài từ chính là con số (digit) lớn nhất mà máy tính có thể xử lí được. Vậy thì, khi chúng ta cần sử dụng máy tính để xử lí một dữ liệu có các số vượt quá độ dài từ đã định thì làm thế nào? Biện pháp thông thường là biểu thị số lớn ấy bằng hai số nhỏ hơn. Biện pháp đơn giản nhất là chia số lớn thành hai đoạn, như có thể chia 3517 thành hai số nhỏ hơn là 35 và 17. Nhưng làm như vậy thì máy tính khi thao tác sẽ khó hơn, cho nên người ta thường cho là không nên áp dụng.

Sử dụng định lí thặng dư của Trung Quốc có thể biểu thị (hoặc mã hóa) một số lớn bằng hai số nhỏ hơn, đồng thời lại khiến cho máy tính thao tác hết sức thuận tiện. Chúng ta hãy nhìn lại hình vuông 3x5 ở trên, 8 được sắp và hàng 2 cột 3, nó có thể biểu thị bằng 2 và 3; tương tự 15 có thể biểu thị bằng 3 và 5... Nếu như máy tính của chúng ta vốn chỉ có thể xử lí được các số trong vòng 15, thì hiện tại có thể xử lí được đến 15. Hơn nữa, sau khi mã hóa như vậy thao tác cũng sẽ rất thuận tiện.

Ví dụ, lấy số 2 ở cột hai, lấy số 3 ở cột ba, tích của chúng là 6, nằm ở cột một. Hơn nữa, tích của bất cứ số nào ở cột hai với bất cứ số nào ở cột ba cũng nhất định là nằm ở cột một (khi tích lớn hơn 15, có thể tiếp tục điền 16, 17... vào trong hình vuông 3 x 5 dựa theo phương pháp nói trên).

Vì sao lại như vậy? Thì ra, trong lí thuyết đồng dư thức, nếu

(tức x1 và x2 có số dư giống nhau sau khi trừ đi 5; y1 và y2 có số dư giống nhau sau khi trừ đi 5), vậy

cũng tức là x1y1 và x2 y2 có số dư giống nhau sau khi trừ đi 5. Sử dụng tính chất này thì sẽ chứng minh được, tích của số (cùng hàng có số dư giống nhau sau khi trừ đi 5) cùng cột với 2 và 3 phải có đồng dư 6, tức ở cùng cột.

Hàng đối cũng có kết quả tương tự.

Cứ như vậy, máy tính khi thao tác với các số lớn sẽ rất thuận tiện. Chẳng hạn, chúng ta muốn làm phép nhân 26, thì trước tiên phải tiến hành mã hóa cho hai số:

2 - (hàng hai, cột hai)

6 - (hàng ba, cột một)

Có thể chứng minh, tích của số ở hàng hai cột ba phải ở hàng ba; tích của số ở hàng hai cột một phải ở hàng hai. Thế là, tích có thể dùng 3 và 2 để biểu thị (hoặc mã hóa). Tra trong bảng sẽ biết được tích của 26 là 12.

Cũng có nghĩa là, đầu tiên biểu thị số lớn bằng hai số nhỏ (có kí hiệu thứ tự hàng, cột trong bảng); sau đó căn cứ theo kí hiệu thứ tự của hai hàng để định ra kí hiệu thứ tự hàng của tích hai số lớn, căn cứ theo kí hiệu thứ tự của hai cột để định ra kí hiệu thứ tự cột của tích; cuối cùng căn cứ theo kí hiệu thứ tự hàng và cột trong bảng sẽ tra ra được trị số của tích. Như vậy, máy tính sẽ rất dễ dàng tìm ra được tích số của các số lớn.

Vì thế, việc sử dụng định lí thặng dư của Trung Quốc để tiến hành mã hóa cho máy tính là hết sức hữu ích, trí tuệ của tổ tiên chúng ta đã được thể hiện thêm trong khoa học kĩ thuật hiện đại.

Vì sao cồn tinh khiết không diệt được vi khuẩn?

Dùng cồn để diệt vi khuẩn là một kiến thức thông thường ai cũng biết. Nhưng có điều lạ là trong y dược người ta chỉ dùng cồn 75% mà không dùng cồn...

Có thật các hành tinh đều ở gần đường hoàng đạo?

Quỹ đạo của các hành tinh chỉ nghiêng một chút so với mặt phẳng quỹ đạo trái đất (hoàng đạo).

Chỉ máy bay trực thăng mới có thể cất cánh và hạ cánh thẳng đứng?

Ưu điểm nổi bật nhất của máy bay trực thăng, đương nhiên là không cần dùng đường băng để lấy đà khi cất cánh, mà thông qua cánh quạt với tốc độ nhanh...

Làm thế nào mà các cửa hiệu có thể khống chế chất lượng hàng hoá nhập?

Khi đi mua hàng người ta hy vọng mua được hàng hoá chất lượng tốt nên khi chọn hàng, nói chung họ phải đọc kĩ giấy chứng nhận chất lượng hàng hoá. Về...

Vì sao Hi Lạp cổ đại lại đạt được thành tựu toán học hết sức rực rỡ?

Nói đến toán học cổ đại là phải nhắc đến Hi Lạp cổ đại. Bộ sách Kỉ hà nguyên bản (Anh: “Euclid's Elements) đã được ra đời ở Hi Lạp cổ đại.

Tại sao người máy lại có các công năng dị thường?

Người máy do con người tạo ra, khả năng tài nghệ của nó cũng là do con người mang lại. Thế nhưng rất nhiều người máy lại có được không ít những năng...

Trên thế giới cây nào to nhất, cây nào cao nhất?

Trên Trái Đất có mấy trăm nghìn loài cây, trong thế giới thực vật nhiều như vậy, có những cây cỏ nhỏ bé nằm sát mặt đất, cũng có cây cao lớn mấy chục...

Ăn hoa quả cả vỏ có tốt không?

Nhiều người trước khi ăn hoa quả không rửa sạch, chỉ dùng tay chùi qua. Điều đó không tốt.

Tại sao ngón tay người máy lại nhiều kiểu dáng

Ngón tay người máy cũng gọi là bộ thao tác đầu chót, là bộ phận chủ yếu của rôbốt. Có nó, người máy mới có thể làm việc, mới có thể chấp hành nhiệm...