Trong toán học, số học mô-đun là một hệ thống tính toán cho các số nguyên, với sự trợ giúp của chúng "chuyển sang" khi chúng đạt đến một giá trị nhất định - mô-đun (hoặc số nhiều của chúng). Cách tiếp cận hiện đại đối với loại khoa học này được Carl Friedrich Gauss phát triển trong cuốn sách Disquisitiones Arithmeticae xuất bản năm 1801. Các nhà khoa học máy tính rất thích sử dụng phương pháp này, vì nó rất thú vị và mở ra một số khả năng mới trong các phép toán với các con số.
Cốt
Bởi vì số giờ bắt đầu lại sau khi nó đạt đến 12, nó là mô đun số học 12. Theo định nghĩa bên dưới, 12 không chỉ tương ứng với 12 mà còn với 0, vì vậy người ta cũng có thể đặt tên cho thời gian là " 12h00”. "0:00". Rốt cuộc, 12 giống với 0 modulo 12.
Số học mô-đun có thể được xử lý bằng toán học bằng cách đưa ra quan hệ đồng dư với số nguyên tương thích với các phép toán trên số nguyênsố: cộng, trừ và nhân. Đối với số nguyên dương n, hai số a và b được cho là đồng dư modulo n nếu hiệu a - b của chúng là bội của n (nghĩa là nếu tồn tại số nguyên k sao cho a - b=kn).
Giảm trừ
Trong toán học lý thuyết, số học mô-đun là một trong những nền tảng của lý thuyết số, ảnh hưởng đến hầu hết các khía cạnh nghiên cứu của nó, và cũng được sử dụng rộng rãi trong lý thuyết nhóm, vành, nút và đại số trừu tượng. Trong lĩnh vực toán học ứng dụng, nó được sử dụng trong đại số máy tính, mật mã, khoa học máy tính, hóa học, nghệ thuật thị giác và âm nhạc.
Thực hành
Một ứng dụng rất thực tế là tính tổng tổng trong định danh số sê-ri. Ví dụ, một số tiêu chuẩn sách thông thường sử dụng modulo số học 11 (nếu phát hành trước ngày 1 tháng 1 năm 2007) hoặc modulo 10 (nếu phát hành trước hoặc sau ngày 1 tháng 1 năm 2007). Tương tự, chẳng hạn như trong Số tài khoản ngân hàng quốc tế (IBAN). Điều này sử dụng số học modulo 97 để phát hiện lỗi nhập của người dùng đối với số tài khoản ngân hàng.
Trong hóa học, chữ số cuối cùng của số đăng ký CAS (số nhận dạng duy nhất cho mỗi hợp chất hóa học) là số kiểm tra. Nó được tính bằng cách lấy chữ số cuối cùng của hai phần đầu tiên của số đăng ký CAS nhân với 1, chữ số trước đó 2 lần, chữ số trước đó 3 lần, v.v., cộng lại và tính tổng mô-đun 10.
Mật mã là gì? Sự thật lànó có mối liên hệ rất chặt chẽ với chủ đề đang thảo luận. Trong mật mã, các quy luật số học mô-đun trực tiếp làm nền tảng cho các hệ thống khóa công khai như RSA và Diffie-Hellman. Ở đây nó cung cấp các trường hữu hạn làm cơ sở cho các đường cong elliptic. Được sử dụng trong các thuật toán khóa đối xứng khác nhau, bao gồm Tiêu chuẩn Mã hóa Nâng cao (AES), Thuật toán Mã hóa Dữ liệu Quốc tế và RC4.
Đơn
Phương pháp này được sử dụng trong các lĩnh vực mà bạn cần đọc số. Nó được phát triển bởi các nhà toán học và mọi người đều sử dụng nó, đặc biệt là các nhà khoa học máy tính. Điều này đã được ghi lại rất rõ trong các cuốn sách như Số học Mô-đun cho các hình nộm. Tuy nhiên, một số chuyên gia khuyến cáo không nên xem trọng tài liệu như vậy.
Trong khoa học máy tính, số học mô-đun thường được sử dụng trong phép toán bit và các phép toán khác liên quan đến cấu trúc dữ liệu hình tròn có độ rộng cố định. Các nhà phân tích thích sử dụng nó. Hoạt động mô-đun được thực hiện trong nhiều ngôn ngữ lập trình và máy tính. Trong trường hợp này, nó là một ví dụ về một ứng dụng như vậy. So sánh modulo, phép chia với phần dư và các thủ thuật khác cũng được sử dụng trong lập trình.
Trong âm nhạc, modulo số học 12 được sử dụng khi xem xét một hệ thống gồm mười hai âm sắc bằng nhau, trong đó quãng tám và quãng âm tương đương nhau. Nói cách khác, các phím ở tỷ số 1-2 hoặc 2-1 là tương đương nhau. Trong âm nhạc và các ngành khoa học nhân văn khác, số học đóng một vai trò khá quan trọng, nhưng trong sách giáo khoacác nhà khoa học máy tính thường không viết về nó.
Phương pháp giảm nines
Phương pháp chuyển đổi 9s cung cấp khả năng kiểm tra nhanh các phép tính số học thập phân thủ công. Nó dựa trên mô-đun số học mô-đun 9 và đặc biệt dựa trên thuộc tính quyết định 10 10 1.
có những ví dụ khác. Mô đun số học 7 được sử dụng trong các thuật toán xác định ngày trong tuần cho một ngày cụ thể. Đặc biệt, tính đồng dư của Zeller và thuật toán Ngày tận thế sử dụng nhiều mô đun số học 7.
Ứng dụng khác
Nó đã được nói về số học mô-đun trong mật mã. Trong lĩnh vực này, cô ấy đơn giản là không thể thay thế. Nói chung hơn, số học mô-đun cũng tìm thấy các ứng dụng trong các ngành như luật, kinh tế (chẳng hạn như lý thuyết trò chơi) và các lĩnh vực khác của khoa học xã hội. Nói cách khác, nơi mà sự phân chia và phân phối tài nguyên theo tỷ lệ đóng một vai trò quan trọng.
Bởi vì số học mô-đun có nhiều ứng dụng như vậy, nên điều quan trọng là phải biết mức độ khó khăn khi giải một hệ thống so sánh. Một hệ thống tuyến tính của đồng dư có thể được giải quyết trong thời gian đa thức dưới dạng loại bỏ Gaussian. Điều này được mô tả chi tiết hơn bởi định lý đồng dư tuyến tính. Các thuật toán như giảm Montgomery cũng tồn tại để cho phép các phép toán số học đơn giản được thực hiện một cách hiệu quả. Ví dụ, phép nhân và lũy thừa modulo n, cho các số lớn. Điều này rất quan trọng cần biết để hiểu những gìmật mã học. Rốt cuộc, nó chỉ hoạt động với các hoạt động tương tự.
Congruence
Một số phép toán, chẳng hạn như tìm logarit rời rạc hoặc đồng dư bậc hai, dường như phức tạp như phân tích nhân tử số nguyên và do đó là điểm khởi đầu cho các thuật toán mật mã và mã hóa. Những vấn đề này có thể là NP-trung gian.
Ví dụ
Sau đây là ba hàm C khá nhanh - hai để thực hiện phép nhân mô-đun và một để nâng lên thành số mô-đun cho các số nguyên không dấu lên đến 63 bit, không bị tràn tạm thời.
Ngay sau khi phát hiện ra các số nguyên (1, 2, 3, 4, 5…), rõ ràng là chúng được chia thành hai nhóm:
- Chẵn: chia hết cho 2 (0, 2, 4, 6..).
- Lẻ: không chia hết cho 2 (1, 3, 5, 7…).
Tại sao sự phân biệt này lại quan trọng? Đây là sự khởi đầu của sự trừu tượng. Chúng tôi nhận thấy các thuộc tính của số (ví dụ: chẵn hoặc lẻ) chứ không chỉ bản thân số ("37").
Điều này cho phép chúng tôi khám phá toán học ở mức độ sâu hơn và tìm mối quan hệ giữa các loại số thay vì các loại cụ thể.
Thuộc tính của một số
Là "ba" chỉ là một thuộc tính khác của một số. Có thể không hữu ích ngay lập tức như chẵn / lẻ, nhưng nó ở đó. Chúng ta có thể tạo các quy tắc như "ba ba x ba vân=ba ba", v.v. Nhưng thật là điên rồ. Chúng tôi không thể tạo từ mới mọi lúc.
Hoạt động modulo (mod viết tắt hoặc "%" trong nhiều ngôn ngữ lập trình) là phần còn lại khiphân công. Ví dụ: "5 mod 3=2", có nghĩa là 2 là phần còn lại khi bạn chia 5 cho 3.
Khi chuyển đổi các thuật ngữ hàng ngày sang toán học, "số chẵn" là "0 mod 2", nghĩa là phần dư là 0 khi chia cho 2. Một số lẻ là "1 mod 2" (có phần dư trong tổng số 1).
Số chẵn và lẻ
Chẵn x chẵn x lẻ x lẻ là gì? Chà, nó là 0 x 0 x 1 x 1=0. Trên thực tế, bạn có thể biết nếu một số chẵn được nhân ở bất kỳ đâu, trong đó toàn bộ kết quả sẽ bằng 0.
Mẹo với toán học mô-đun là chúng ta đã sử dụng nó để lưu trữ thời gian - đôi khi được gọi là "số học đồng hồ".
Ví dụ: 7:00 sáng (sáng / chiều - không quan trọng). Kim giờ sẽ ở đâu sau 7 giờ?
Điều chế
(7 + 7) mod 12=(14) mod 12=2 mod 12 [2 là phần dư khi 14 chia cho 12. Phương trình 14 mod 12=2 mod 12 có nghĩa là 14 giờ và 2 giờ xem xét tương tự trên đồng hồ 12 giờ. Chúng đồng dư, được biểu thị bằng dấu bằng ba: 14 ≡ 2 mod 12.
Một ví dụ khác: bây giờ là 8 giờ sáng. Bàn tay lớn sẽ ở đâu sau 25 giờ nữa?
Thay vì cộng 25 thành 8, bạn có thể hiểu 25 giờ chỉ là "1 ngày + 1 giờ". Đáp án đơn giản. Vì vậy, đồng hồ sẽ kết thúc trước 1 giờ - lúc 9 giờ 00.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Bạn đã chuyển đổi trực quan 25 thành 1 và thêm vào đến 8.
Sử dụng đồng hồ như một phép tương tự, chúng ta có thể tìm ra liệucác quy tắc số học mô-đun và chúng hoạt động.
Phép cộng / Phép trừ
Giả sử có hai thời điểm giống nhau trên đồng hồ của chúng ta ("2:00" và "14:00"). Nếu chúng ta thêm x giờ như nhau cho cả hai, điều gì sẽ xảy ra? Chà, họ thay đổi với cùng một số tiền trên đồng hồ! 2:00 + 5 giờ ≡ 14:00 + 5 giờ - cả hai sẽ hiển thị 7: 00.
Tại sao? Chúng ta có thể chỉ cần thêm 5 vào 2 phần dư mà cả hai đều có và chúng tăng theo cùng một cách. Đối với tất cả các số đồng dư (2 và 14), phép cộng và phép trừ có cùng kết quả.
Khó hơn để biết phép nhân có giữ nguyên không. Nếu 14 ≡ 2 (mod 12), ta có thể nhân cả hai số và được cùng một kết quả không? Hãy xem điều gì sẽ xảy ra khi chúng ta nhân với 3.
Chà, 2:003 × 6:00. Nhưng 14:003 là gì?
Hãy nhớ, 14=12 + 2. Vì vậy, chúng ta có thể nói
143=(12 + 2)3=(123) + (23)
Phần đầu (123) có thể bỏ qua! Khoảng thời gian tràn 12 giờ mang theo 14 chỉ đơn giản là lặp lại nhiều lần. Nhưng ai quan tâm chứ? Dù sao thì chúng tôi cũng bỏ qua sự cố tràn.
Nhân
Khi nhân, chỉ phần còn lại mới quan trọng, tức là 2 giờ giống nhau cho 14:00 và 2:00. Theo trực quan, đây là cách tôi thấy phép nhân không thay đổi mối quan hệ với phép toán mô-đun (bạn có thể nhân cả hai vế của mối quan hệ mô-đun và nhận được cùng một kết quả).
Chúng tôi làm điều đó bằng trực giác, nhưng thật tuyệt khi đặt tên cho nó. Bạn có chuyến bay đến lúc 3 giờ chiều. Anh tabị chậm 14 giờ. Mấy giờ nó sẽ hạ cánh?
14 ≡ 2 mod 12. Vì vậy, hãy nghĩ đến lúc 2 giờ, vậy là máy bay sẽ hạ cánh lúc 5 giờ sáng. Giải pháp rất đơn giản: 3 + 2=5 giờ sáng. Điều này phức tạp hơn một chút so với hoạt động mô-đun đơn giản, nhưng nguyên tắc thì giống nhau.