Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
0,95 MB
Nội dung
1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH DƯƠNG NGỌC ANH ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƯ TRONG KỸ THUẬT MÃ VẠCH LUẬN VĂN THẠC SĨ TOÁN HỌC NGHỆ AN – 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH DƯƠNG NGỌC ANH ỨNG DỤNG CỦA LÝ THUYẾT ĐỒNG DƯ TRONG KỸ THUẬT MÃ VẠCH CHUYÊN NGÀNH: ĐẠI SỐ VÀ LÝ THUYẾT SỐ Mã số: 60 46 01 05 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học PGS.TS NGUYỄN THÀNH QUANG NGHỆ AN - 2015 MỤC LỤC TRANG MỞ ĐẦU CHƯƠNG MỘT SỐ KIẾN THỨC CƠ SỞ 1.1 Thuật toán độ phức tạp thuật toán 1.2 Phép tính đồng dư vấn đề liên quan 1.3 Biểu diễn số nguyên thuật toán số học 12 CHƯƠNG MÃ SỬA SAI VÀ MÃ VẠCH 2.1 Mã vạch mã số 17 2.2 Mã sửa sai 30 2.3 Khoảng cách Haming 34 KẾT LUẬN 37 TÀI LIỆU THAM KHẢO 38 MỞ ĐẦU Số học kiến thức toán học lâu đời Từ trước tới nay, người ta thường coi số học lĩnh vực đẹp, túy lý thuyết toán học Với phát triển khoa học máy tính công nghệ thông tin, số học đóng góp ứng dụng thực tế bất ngờ quan trọng, đặc biệt lĩnh vực mã hóa thông tin Dựa sở Lý thuyết đồng dư , luận văn có mục đích tìm hiểu trình bày kết sở kỹ thuật mã vạch, mã sửa sai Những ứng dụng Lý thuyết số Đại số tuyến tính cho phép nhận kết quan trọng hệ đếm, mã sửa sai mật mã Qua đây, nhận thấy nhiều kết toán học tưởng chừng có ý nghĩa lý thuyết , song lại mang đến nhiều kết bất ngờ sâu sắc ứng dụng thực tế, kiến thức Số học sơ cấp có mối liên hệ với thành tựu Tin học đời sống Số học hữu hoạt động thực tiễn: Kỹ thuật máy tính, mật mã, trao đổi trực tuyến ngân hàng, thẻ ATM, truyền phát tín hiệu vệ tinh, chứng khoán, mã vạch, mã sửa sai… Mục đích luận văn tìm hiểu sở việc áp dụng Số học vào số lĩnh vực ứng dụng kỹ thuật mã vạch Luận văn gồm hai chương Chương trình bày kiến thức về: thuật toán, độ phức tạp thuật toán, phép tính đồng dư, biểu diễn số nguyên thuật toán số học Chương trình bày số vấn đề về: mã vạch, mã số, mã sửa sai, khoảng cách Hamming Ngoài ra, quan tâm đến khía cạnh thực tế vấn đề: mã vạch, mã hàng hóa, mã sách tiêu chuẩn quốc tế, Chúng cố gắng tìm hiểu, chưa đầy đủ, mã hàng hóa, mã văn hóa phẩm Việt Nam kiểm nghiệm tiêu chuẩn giải mã cho ví dụ cụ thể mã Luận văn hoàn thành hướng dẫn khoa học tận tình chu đáo PGS.TS Nguyễn Thành Quang Nhân dịp xin bày tỏ lòng kính trọng biết ơn sâu sắc tới thầy giáo hướng dẫn khoa học, người dành nhiều thời gian công sức cho để hoàn thành luận văn Nhân dịp xin bày tỏ lòng biết ơn gửi lời cảm ơn đến thầy cô giáo chuyên ngành Đại số Lý thuyết số, Khoa Toán, Phòng Đào tạo Sau Đại học – Trường Đại học Vinh, người tận tình giảng dạy tạo điều kiện thuận lợi cho hoàn thành khóa học Tôi xin trân trọng cảm ơn tới Trường Đại học Vinh tạo điều kiện tổ chức cho hoàn thành khóa học Xin cảm ơn gia đình, bạn bè, đồng nghiệp cảm thông, ủng hộ giúp đỡ suốt thời gian tác giả học cao học viết luận văn Mặc dù cố gắng luận văn nhiều thiếu sót, tác giả mong nhận đóng góp thầy cô giáo đồng nghiệp Tác giả CHƯƠNG MỘT SỐ KIẾN THỨC CƠ SỞ 1.1 Thuật toán độ phức tạp thuật toán 1.1.1 Khái niệm thuật toán Thuật toán quy tắc để với liệu ban đầu cho, ta tìm lời giải sau thời gian hữu hạn Một thuật toán cần phải thỏa mãn yêu cầu sau đây: - Tính hữu hạn Thuật toán cần phải kết thúc sau số hữu hạn bước Khi thuật toán ngừng, ta phải thu câu trả lời cho vấn đề đặt - Tính xác định Tại bước, thuật toán cần phải xác định nghĩa rõ việc cần làm Ngoài ra, ta phải xét đến tính hiệu thuật toán Có nhiều thuật toán, mặt lí thuyết kết thúc sau hữu hạn bước, nhiên thời gian "hữu hạn" vượt khả làm việc Những thuật toán không xét quan tâm thuật toán sử dụng thật máy tính Cũng mục tiêu nói trên, cần phải ý đến độ phức tạp thuật toán Độ phức tạp thuật toán đo không gian, tức dung lượng nhớ máy tính cần thiết để thực thuật toán, thời gian, tức thời gian máy tính thực thuật toán Trong luận văn này, nói đến độ phức tạp thuật toán, hiểu độ phức tạp thời gian Dĩ nhiên, thời gian làm việc máy tính chạy thuật toán không phụ thuộc vào thuật toán mà phụ thuộc vào máy tính sử dụng Vì thế, để có tiêu chuẩn chung, ta đo độ phức tạp thuật toán số phép tính phải làm thực thuật toán Nhưng điều lại phụ thuộc vào độ lớn kiện đầu vào Trong ứng dụng thực tiễn, ta cần ước lượng thật tốt độ phức tạp Để làm điều đó, ta dùng khái niệm bậc O-lớn 1.1.2 Độ phức tạp thuật toán Giả sử f (n) g ( n ) hai hàm xác định tập hợp số nguyên dương Ta nói, f (n) có bậc O-lớn g(n) viết ( ) f ( n ) = O g ( n ) tồn số C > cho với n đủ lớn, hàm f (n) g ( n ) dương đồng thời thỏa mãn f (n) < Cg ( n ) k i k Ví dụ: Cho hai đa thức f ( n ) = ∑ n , > 0, ∀i = 1, , k g ( n ) = n xác định i =0 k tập số nguyên dương Khi đó, f = O( g ) tồn số dương C = ∑ để với n đủ lớn i =1 f (n), g (n) dương f (n) < C.g (n) 1.1.3 Tính chất bậc O-lớn Ta có tính chất sau đây: 1) Nếu f1 = O( g ) f = O( g ) f1 + f = O( g ) 2) Nếu f1 = O ( g1 ) f = O( g ) f1 f = O ( g1g ) f ( n) 3) Nếu tồn giới hạn hữu hạn lim f = O( g ) n →∞ g ( n) 4) Với ò > , ta có logn = O (nò) 1.1.4 Định nghĩa Một thuật toán gọi có độ phức tạp đa thức số phép tính cần thiết thực thuật toán không vượt O(log d n) , n độ lớn đầu vào d số nguyên dương Nói cách khác, đầu vào số k-bit thời gian thực thuật toán O (k d ) , tức tương đương với đa thức k 1.2 Phép tính đồng dư vấn đề liên quan 1.2.1 Định nghĩa Cho m > số nguyên Nếu a b số nguyên mà a − b chia hết cho m , nói a b đồng dư với theo môđun m viết a ≡ b(mod m) gọi đồng dư thức 1.2.2 Tập lớp đồng dư theo môđun m Cho m > số nguyên dương Ta biết quan hệ đồng dư theo môđun m quan hệ tương đương tập số nguyên Z , tồn tập thương Z theo quan hệ tương đương Vậy ta có định nghĩa: Tập thương tập số nguyên Z quan hệ đồng dư theo môđun m gọi tập hợp lớp thặng dư môđun m kí hiệu Zm Mỗi phần tử A Zm gọi lớp thặng dư môđun m Hai lớp thặng dư môđun m không giao ¢ m hợp tất lớp thặng dư môđun m rời Giả sử A ∈ Zm , a ∈ A Khi A = a = { x ∈ Z : x ≡ a(mod m)} Phần tử a gọi phần tử đại diện lớp thặng dư A gọi thặng dư môđun m Tập Zm có m phần tử Thật vậy, xét lớp thặng dư môđun m gồm: 0,1, , m − Ta chứng minh chúng gồm m lớp phân biệt Quả vậy, với i ≠ j (0 ≤ i, j ≤ m − 1) < i − j ≤ m − nên i, j không đồng dư với theo môđun m hay i ≠ j Vậy 0,1, , m − m lớp thặng dư phân biệt, chúng tạo nên X gồm m phần tử Zm Giả sử x ∈ Zm , x = mq + r; q, r ∈ Z, ≤ r ≤ m − x ≡ i(mod m) , { } x = r ∈ 0, 1, , m − = X { } Vậy Zm = X = 0, 1, , m − có m phần tử 1.2.3 Vành lớp đồng dư theo môđun m Trên tập hợp Zm , ta định nghĩa phép toán cộng phép toán nhân sau k +l = k +l k l = kl Chúng ta chứng minh ( Zm , +,.) lập thành vành giao hoán, có đơn vị Hơn có kết sau: Vành Zm trường m số nguyên tố 1.2.4 Định nghĩa Hàm số Euler ϕ (m) hàm số số học có giá trị số tự nhiên m ≠ số số nguyên dương không vượt m nguyên tố với m: ϕ ( m) = ∑ 1≤ k ≤m ( k , m ) =1 Hàm ϕ (m) có nhiều ứng dụng cấp nhóm nhân số nguyên khả nghịch môđun m Hơn nữa, hàm Euler ϕ (m) ta có công thức Gauss công thức tổng trải ước dương d m : å j (d ) = m dm Một kết số học có liên quan đến hàm Euler có nhiều ứng dụng tin học, lý thuyết mật mã, 1.2.5 Định lí Euler Nếu a m > số nguyên, nguyên tố aϕ ( m ) ≡ 1(mod m) Định lí Euler dùng để tìm nghịch đảo modm Chẳng hạn, a m số nguyên nguyên tố nhau, ta có aaϕ ( m )−1 ≡ 1(mod m) tức aϕ ( m ) −1 nghịch đảo a theo modm Từ suy nghiệm phương trình đồng dư tuyến tính ax ≡ b(mod m) với ( a, m) = x ≡ aϕ ( m) −1b(mod m) 10 Các tính chất hàm Euler sử dụng để tính đồng dư lũy thừa lớn Chẳng hạn, ta cần tính a n mod k , n số nguyên lớn Giả sử ta αi α α α có k = p1 p2 L ps , đó, aϕ ( pi ) ≡ 1(mod pαi ) Nếu N bội chung nhỏ α ϕ ( pi i ) s a N ≡ 1(mod k ) Do đó, viết n = Nq + r với r < N ta thu a n ≡ a r (mod k ) Ta xét ví dụ ứng dụng số Ví dụ Tìm số dư phép chia 21000000 cho 77 Ta có ϕ (7) = 6; ϕ (11) = 10;26 ≡ 1(mod 7); 210 ≡ 1(mod11) Do đó, 230 ≡ 1(mod 7); 230 ≡ 1(mod11) Vì 230 º 1(mod 77) Mặt khác, 1000000 = 30.33333 + 10 cho nên: 21000000 º 210 º 23(mod 77) Ví dụ Tìm chữ số cuối số 2999 Ta có: 999 ≡ 0(mod 2) Mặt khác: (2,5) = nên theo Định lý Euler: ϕ ( 5) ≡ 1(mod 5) ⇒ ≡ 1(mod 5) ⇒ 2000 ≡ 1(mod 5) ≡ 6(mod 5) ⇒ 999 ≡ 3(mod 5) 2 999 ≡ 0(mod 2) ≡ 8(mod 2) Vậy ta có 999 2 ≡ 3(mod 5) ≡ 8(mod 5) 999 Từ ta suy ≡ ( mod 10 ) , hay số 999 tận bên phải số Ví dụ Tìm số dư phép chia 2002 2003 chia cho 19 Vì 2002 ≡ 7(mod 19) nên 2002 2003 ≡ 2003 (mod 19) Ta có (7 , 19) = , áp dụng Định lý Fermat với số nguyên tố p = 19, ϕ ( p) = 18 ta 18 ≡ 1(mod 19) Hơn 2003 = (7 18 ) 111 ≡ (mod 19) Ta có = 343 ≡ 1(mod 19) nên ≡ 49(mod 19 ) hay ≡ 11(mod 19 ) 27 Mã số EAN-13 gồm 13 số có cấu tạo sau: từ trái sang phải + Mã quốc gia: hai ba số đầu + Mã doanh nghiệp: gồm từ bốn, năm sáu số + Mã mặt hàng: năm, bốn, ba số tùy thuộc vào mã doanh nghiệp + Số cuối số kiểm tra Để đảm bảo tính thống tính đơn mã số, mã quốc gia phải tổ chức mã số vật phẩm quốc tế cấp cho quốc gia thành viên tổ chức Mã số quốc gia Việt Nam 893 Danh mục mã số quốc gia nước phụ lục kèm theo Mã doanh nghiệp tổ chức mã số vật phẩm quốc gia cấp cho nhà sản xuất thành viên họ Việt Nam, mã doanh nghiệp EAN-VN cấp cho doanh nghiệp thành viên Mã mặt hàng nhà sản xuất quy định cho hàng hoá Nhà sản xuất phải đảm bảo mặt hàng có mã số, nhầm lẫn Số kiểm tra C số tính dựa vào 12 số trước đó, dùng để kiểm tra việc ghi số nói Từ năm 1995 đến tháng 3/1998, EAN-VN cấp mã M gồm bốn số từ tháng 3/1998, theo yêu cầu EAN quốc tế, EAN-VN bắt đầu cấp mã M gồm số Mã số EAN-8 gồm số có cấu tạo sau: + Ba số đầu mã số quốc gia giống EAN-13 + Bốn số sau mã mặt hàng + Số cuối số kiểm tra Mã EAN-8 sử dụng sản phẩm có kích thước nhỏ, không đủ chỗ ghi mã EAN-13 (ví dụ thỏi son, bút bi) Các doanh nghiệp muốn sử dụng mã số EAN-8 sản phẩm cần làm đơn xin mã Tổ chức mã số quốc gia 28 (EAN-VN) Tổ chức mã số quốc gia cấp trực tiếp quản lý mã số mặt hàng (gồm số) cụ thể cho doanh nghiệp Mã vạch nhóm vạch khoảng trống song song đặt xen kẽ dùng để thể mã số dạng máy quét đọc Mã vạch thể mã số EAN gọi mã vạch EAN Trong mã vạch EAN, số thể hai vạch hai khoảng trống theo ba phương án khác (Set A, B, C) Mỗi mã vạch hay khoảng trống có chiều rộng từ đến môđun Như mã vạch EAN thuộc loại mã đa chiều rộng, môđun có chiều rộng tiêu chuẩn 0,33 mm Mã vạch EAN loại mã vạch sử dụng riêng để thể mã số EAN Mã vạch EAN có tính chất sau đây: Chỉ thể số (từ O đến 9) với chiều dài cố định (13 số) Là mã đa chiều rộng, tức vạch (hay khoảng trống) có chiều rộng từ đến môđun Do vậy, mật độ mã hoá cao độ tin cậy tương đối thấp, đòi hỏi có ý đặc biệt in mã Mã vạch EAN có cấu tạo sau: Kể từ bên trái, khu vực để trống không ghi ký hiệu cả, ký hiệu bắt đầu, ký hiệu dãy số bên trái, ký hiệu phân cách, ký hiệu dãy số bên phải, số kiểm tra, ký hiệu kết thúc, sau khoảng trống bên phải Toàn khu vực mã vạch EAN-13 tiêu chuẩn có chiều dài 37,29 mm chiều cao 25,93mm Mã vạch EAN-8 có cấu tạo tương tự có chiều dài tiêu chuẩn 26,73mm chiều cao 21,31mm 2.1.7 Cấu tạo mã số hàng hóa (MSHH) Cấu tạo mã số mã vạch, hay cách đọc mã vạch sản phẩm: Để tạo thuận lợi nâng cao suất, hiệu bán hàng quản lý kho người ta thường in hàng hoá loại mã hiệu đặc biệt gọi mã số mã vạch hàng hoá Mã số mã vạch hàng hoá bao gồm hai phần: mã số hàng hoá mã vạch phần thể mã số vạch máy đọc 29 Mã số hàng hoá dãy số dùng để phân định hàng hoá, áp dụng trình luân chuyển hàng hoá từ người sản xuất, qua bán buôn, lưu kho, phân phối, bán lẻ tới người tiêu dùng Nếu thẻ cước giúp ta phân biệt người với người khác mã số hàng hoá “thẻ cước” hàng hoá, giúp ta phân biệt nhanh chóng xác loại hàng hoá khác Mã số hàng hoá có tính chất sau: - Nó số đặc trưng cho hàng hoá Mỗi loại hàng hoá nhận diện dãy số dãy số tương ứng với loại hàng hoá - Bản thân mã số dãy số đại diện cho hàng hoá, không liên quan đến đặc điểm hàng hoá Nó số phân loại hay chất lượng hàng hoá, mã số giá hàng hoá Cấu tạo mã số mã vạch, cách đọc mã vạch sản phẩm Mã số EAN-13 gồm 13 số có cấu tạo sau: từ trái sang phải + Mã quốc gia: hai ba số đầu + Mã doanh nghiệp: gồm từ bốn, năm sáu số + Mã mặt hàng: năm, bốn, ba số tùy thuộc vào mã doanh nghiệp + Số cuối số kiểm tra 30 Để đảm bảo tính thống tính đơn mã số, mã quốc gia phải tổ chức mã số vật phẩm quốc tế cấp cho quốc gia thành viên tổ chức Mã số quốc gia Việt Nam 893 Danh mục mã số quốc gia nước phụ lục kèm theo Mã doanh nghiệp tổ chức mã số vật phẩm quốc gia cấp cho nhà sản xuất thành viên họ Việt Nam, mã doanh nghiệp EAN-VN cấp cho doanh nghiệp thành viên Mã mặt hàng nhà sản xuất quy định cho hàng hoá Nhà sản xuất phải đảm bảo mặt hàng có mã số, nhầm lẫn Số kiểm tra C số tính dựa vào 12 số trước đó, dùng để kiểm tra việc ghi số nói Từ năm 1995 đến tháng 3/1998, EAN-VN cấp mã M gồm bốn số từ tháng 3/1998, theo yêu cầu EAN quốc tế, EAN-VN bắt đầu cấp mã M gồm số Mã số EAN-8 gồm số có cấu tạo sau: + Ba số đầu mã số quốc gia giống EAN-13 + Bốn số sau mã mặt hàng + Số cuối số kiểm tra Đến nay, giao dịch thương mại tồn hệ thống MSHH: Một là, hệ thống MSHH sử dụng thị trường Hoa Kỳ Canada Đó hệ thống UPC (Universal Product Code), lưu hành từ thập kỷ 70 thé kỷ XX Hai là, hệ thống MSHH sử dụng rộng rãi thị trường lại giới, đặc biệt châu Âu, châu Á, ; phổ biến hệ thống EAN (European Article Number) Trong hệ thống MSHH EAN có loại ký hiệu số: Loại EAN13 EAN-8 + Cấu trúc EAN-13: 31 Mã số EAN-13 dãy số gồm 13 chữ số nguyên (từ số đến số 9), dãy số chia làm nhóm, nhóm có ý nghĩa sau (xem hình 1): Nhóm 1: Từ trái sang phải, ba chữ số đầu mã số quốc gia (vùng lãnh thổ) Nhóm 2: Tiếp theo gồm bốn chữ số mã số doanh nghiệp Nhóm 3: Tiếp theo gồm năm chữ số mã số hàng hóa Nhóm 4: Số cuối (bên phải) số kiểm tra 2.1.8 Cách tính số kiểm tra cho mã EAN 13 Số kiểm tra số thứ 13 EAN-13 Nó số tùy ý mà phụ thuộc vào 12 số đứng trước tính theo quy tắc sau: Bước 1: Lấy tổng tất số vị trí lẻ (1, 3, 5, 7, 9, 11) số A Bước 2: Lấy tổng tất số vị trí chẵn (2, 4, 6, 8, 10, 12) Tổng nhân với số (B) Bước 3: Lấy tổng A B số A+B Bước 4: Lấy phần dư phép chia A + B cho 10, gọi số x Nếu số dư số kiểm tra 0, khác số kiểm tra phần bù (10 - x) số dư Số kiểm tra thêm vào cuối chuỗi số có 12 chữ số ban đầu tạo chuỗi số EAN13 có 13 chữ số Tuy nhiên, thực tế sản xuất mã vạch, số thêm vào cuối chuỗi, phần mềm in ấn mã vạch nên có phần kiểm tra lại số trước in, nhằm tránh sai lầm sai sót liệ Ví dụ Mã số 3 0 - C: 32 Bước - Xác định nguồn gốc hàng hóa: 893 MSHH quốc gia Việt Nam; 3481 MS doanh nghiệp thuộc quốc gia Việt Nam; 00106 MSHH doanh nghiệp Bước - Xác định C Cộng tổng giá trị số thứ tự lẻ bắt đầu tính từ phải sang trái dãy MS (trừ số C), ta có : + + + + + = 27 (1) Nhân tổng (1) với 3, ta có: 27 x = 81 (2) Cộng tổng giá trị số thứ tự chẵn lại, ta có + + + + + = 16 (3) Cộng giá trị (2) với (3), ta có: 81 + 16 = 97 (4) Lấy giá trị (4) làm tròn theo bội số 10 (tức 100) sát với giá trị (4) trừ giá trị (4) ta có: 100 - 97 = Như C = Trong trường hợp mã số EAN - VN 13 có MSHH đầy đủ là: 893 3481 00106 Ví dụ: Tính số kiểm tra cho mã số 893456501001 C, Mã quốc gia: 893 Mã doanh nghiệp: 4565 Mã mặt hàng: 01001 Số kiểm tra: C • Bước 1: + + + + + = 20 • Bước 2: 20 x = 60 • Bước 3: + + + + + = 22 • Bước 4: 60 + 22 = 82 33 • Bước 5: 82 mod 10 = C = • Mã EAN 13 hoàn chỉnh là: 8934565010018 2.2 Mã sửa sai Khi xử lý truyền thông tin dạng từ mã, lỗi xảy cố điện, can thiệp từ bên sét, xạ, lỗi người lỗi kỹ thuật Do số chữ từ mã bị thay đổi, nên cần tìm cách xác hóa lại tìm lỗi Cần số chữ số kiểm tra (check digits) để nhìn vào biết chắn sản phẩm ta cần mua cửa hàng gửi đến sách ta đặt Các chữ số chọn cách tận dụng số tính chất số dãy số Chúng ta quen thuộc với ngôn ngữ nói ngôn ngữ viết chứa nhiều cấu trúc câu giúp ta đoán xác ý nghĩa của câu nói( viết) có chứa lỗi tả hay lỗi khác Việc phát sửa lỗi truyền tin tương tự 2.2.1 Những ví dụ mã sửa sai 2.2.1.1 Mã lặp Ví dụ (bốn lệnh) Giả sử ta muốn dùng điều khiển từ xa để gửi lệnh khác cho máy video (video cassette recode, VCR) Những lênh biểu thị từ mã nhị phân (binary codewords) sau: Lệnh Dừng Chơi Tua Tua lại Từ mã stop 00 Play 01 Fastforward 10 Rewind 11 34 Tuy nhiên, có lỗi xảy truyền tin (ví dụ bị thay ngược lại) lệnh sai thwucj VCR cách để nhận biết lỗi xảy Ví dụ ta gửi 10 gửi sai 00 VCR dừng lại thay tua Trong sống thường ngày ta chưa hiểu ý người khác nói thường yêu cầu họ nhắc lại Bởi vậy, cách để sửa lỗi nhắc lại từ truyền đi, mã hóa trở thành: Lệnh Từ mã stop Play FF Rew 0000 0101 1010 1111 Bây ta truyền 1010 lỗi đơn giản xảy bit VCR nhận 0010 Đây không gọi từ mã mà gọi từ (word) Vì hai chữ số đàu 00 khác với cặp thứ hai 10, nên VCR phát lỗi xảy trình truyền tin Tuy sửa lỗi cách để biết 0010 1010 0000 Mặc dù có cải tiến VCR phát lỗi sai Ta thấy dạng mã lặp công việc người thu ngân siêu thị Nếu có trường hợp máy quét đọc sai mã vạch thông tin lỗi hiển thị máy kiểm tra người thu ngân nhập lại thao tác nhập mã mà thông thường cách nhập tay Nếu nhắc lại hai lần từ mã là: Lệnh stop Play FF Rew Từ mã 000000 010101 101010 111111 Quá trình nhận từ mã (codeword) theo từ chuyển gọi giải mã(decoding) 35 Ta thấy rằng, thân thông tin bổ sung bị lỗi, việc giải mã không đẩm bảo Ví dụ tin nhắn nhận 111010 111111 với lỗi bít thứ tư bít thứ sáu 2.2.1.2 Mã chẵn lẻ Ví dụ (mã số 2- mã nhị phân) Mã nhận cách nối thêm bit đơn bổ sung vào tin nhắn chứa thông tin truyền Bit lựa chọn cho từ mã kết chứa số chẵn chữ số Điều dẫn đến mã chẵn lẻ (even parity code) Tương tự, bit bổ xung, gọi bit kiểm tra chẵn lẻ (parity-check bit), đơn giản bit kiểm tra (check bit), lựa chọn để từ mã kết chứa số lẻ chữ số mã kết gọi mã lẻ (odd parity code) Xét mã ví dụ mục 2.2.1.1 đặt số số vào cuối từ để từ mã số chẵn Lệnh Stop play FF Rew Từ mã 000 011 101 111 Giả sử 101 gửi lỗi đơn xảy từ nhận số 001, 100,111 Mỗi từ chứa số lẻ chữ số 1, lỗi phát không phát lỗi bít cần sửa Trường hợp tổng quát, giả sử tin nhắn gốc gồm n-1 bít x1 , x , , x n −1 gọi bít thông tin (information bits) Một bít bổ xung gọi bít kiểm tra, lựa chọn để từ mã chẵn Như từ mã chứa số chẵn chữ số 2, x1 + x2 + + xn ≡ 0(mod 2) (2.1) Các từ mã truyền x1 , x , , x n , xi 1, độ dài (length) từ mã định nghĩa n Giả sử lỗi đơn xảy trình truyền tin 36 bít thứ i, nghĩa xi = bít thứ i từ nhận y i = , tương tự y i = xi = Và ta biểu diễn sau: y i ≡ ( x i + 1)(mod 2) (2.2) Và từ nhận r = x1 x xi −1 y i xi +1 x n Tính chẵn lẻ r nhận cách cộng chữ số theo đồng dư 2, cho x1 + x + + x i −1 + y i + x i +1 + + x n ≡ x1 + x + + x i −1 + ( x i + 1) + x i +1 + + x n (mod 2) ≡ 1(mod 2) Do r có tính lẻ Trong trường hợp tổng quát, số lẻ lỗi truyền tin xảy tính chẵn lẻ r = Nói cách khác, từ nhận có tính lẻ xảy số lẻ lỗi, từ nhận có tính chẵn có số chẵn lỗi( lỗi) Giả sử xác suất lỗi đơn nhỏ Khi đó, từ nhận có tính lẻ có lỗi xảy ra; từ nhận có tính chẵn lỗi Hơn nữa, với giả thiết trên, mã kiểm tra tính chẵn phát lỗi đơn Nhưng sửa chữa lỗi đơn xác định bít từ nhận sai 2.3 Khoảng cách Hamming 2.3.1 Giới thiệu Trong lý thuyết thông tin, Khoảng cách Hamming (Hamming distance) hai dãy ký tự (strings) có chiều dài số ký hiệu vị trí tương đương có giá trị khác Nói cách khác, khoảng cách Hamming đo số lượng thay cần phải có để đổi giá trị dãy ký tự sang dãy ký tự khác, hay số lượng lỗi xảy biến đổi dãy ký tự sang dãy ký tự khác Ví dụ: • Khoảng cách Hamming 1011101 1001001 • Khoảng cách Hamming 2143896 2233796 • Khoảng cách Hamming "toned" "roses" 37 2.3.2 Trọng lượng Hamming (Hamming weight) dãy ký tự khoảng cách Hamming từ dãy ký tự toàn số chiều dài Có nghĩa số phần tử dãy ký tự giá trị không (0): dãy ký tự nhị phân (binary string), số ký tự có giá trị (1), lấy ví dụ trọng lượng Hamming dãy ký tự 11101 2.3.3 Tính chất Đối với chiều dài cố định "n", khoảng cách Hamming độ đo không gian vectơ từ có chiều dài đó, thỏa mãn yêu cầu tính chất số không âm (non-negativity) (số tuyệt đối), thân tính bất khả phân định (indiscernibles) tính đối xứng (symmetry), chứng minh cách dễ dàng phép quy nạp toàn phần (complete induction) thỏa mãn bất đẳng thức tam giác (triangle inequality) Khoảng cách Hamming hai từ a b gọi trọng lượng Hamming (Hamming weight) phép toán a − b , dùng toán tử thích hợp thay cho toán tử "−" Đối với hai dãy ký tự nhị phân (binary strings) a b , phép toán tương đương với phép toán a XOR b Khoảng cách Hamming dãy ký tự nhị phân tương đương với khoảng cách Manhattan (Manhattan distance) hai giao điểm hình giả phương cấp n (n-dimensional hypercube), n chiều dài từ 2.3.4 Lịch sử ứng dụng Khoảng cách Hamming tên đặt theo tên ông Richard Hamming, người giới thiệu lý thuyết tài liệu có tính sở ông mã phát lỗi sửa lỗi (error-detecting and error-correcting codes) Nó sử dụng kỹ thuật viễn thông để tính số lượng bit từ nhị phân (binary word) bị đổi ngược, hình thức để ước tính số lỗi xảy trình truyền thông, thế, đôi khi, gọi khoảng cách tín hiệu (signal distance) Việc phân tích trọng lượng 38 Hamming bit sử dụng số ngành, bao gồm lý thuyết tin học, lý thuyết mã hóa, mật mã học Tuy vậy, so sánh dãy ký tự có chiều dài khác nhau, hay dãy ký tự có xu hướng không bị thay không thôi, mà bị ảnh hưởng liệu bị lồng thêm vào, bị xóa đi, phương pháp đo lường phức tạp hơn, khoảng cách Levenshtein (Levenshtein distance) phương pháp có tác dụng thích hợp 2.3.5 Ý nghĩa toán học khoảng cách Hamming Ta kí hiệu hình thức Z p tập hợp số nguyên 0, 1, 2,…, p-1 (đại diện lớp đồng dư modun p) x = x1 x x n −1n x n , x i thuộc Z p gọi từ có độ dài n Vì x i nhận p giá trị nên tổng cộng có p n từ Một p-mã C chiều dài n tập hợp từ vậy, x ∈ C x gọi từ mã Trường hợp p = xi C mã nhị phân Nếu p = xi 0,1 C mã tam phân Ta xét mã mà tất từ mã có độ dài Giả sử x y hai từ có độ dài n Khi khoảng cách Hamming d ( x, y ) chúng số vị trí mà x y khác Ví dụ Với mã tam phân có độ dài d (01221,10221) = hai từ khác vị trí thứ Khoảng cách d ( x, y ) số nhỏ chữ số x thay đổi đê nhận y Thuật ngữ “khoảng cách” sử dụng d ( x, y ) thỏa mãn ba tiên đề khoảng cách sau đây; (1) d ( x, y ) = x = y Nếu ngược lại d ( x, y ) > (2) d ( x, y ) = d ( y, x) (3) Tiên đề bất đẳng thức tam giác: Với từ z = z1 z z n , ta có : d ( x, y ) ≤ d ( x, z ) + d ( z , y ) (3.1) 39 Từ đây, khái niệm giải mã lân cận gần ví dụ mục 2.2.1.1 giải thích lại sau: coi từ mã truyền từu mã gần với từ mã nhận được, theo nghĩa khoảng cách Hamming hai từ nhỏ Tham số quan trọng ảnh hưởng đến phát lỗi tính chất sửa sai mã C gần gũi toàn từ, đo khoảng cách tối thiểu δ (C ) Nó định nghĩa giá trị nhỏ d(x,y) với x, y C với x ≠ y Ví dụ Mã sử dụng ví dụ mục 2.2.1.1 C1 = { 00,01,10,11} khoảng cách tất cặp có 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) = Do đó, khoảng cách tối thiểu δ (C1 ) = 1, ta giải thích mã C1 phát lỗi đơn Thật vậy, mã C với δ (C ) = có hai từ mã a b mà d (a, b) = Nếu a truyền với lỗi bị thay đổi thành bi , ta nhận từ b Nhưng ( a, b ) = nên b từ mã, tin nhắn coi đúng, cách phát lỗi xảy 40 KẾT LUẬN Dựa sở Lý thuyết đồng dư, luận văn có mục đích tìm hiểu trình bày khái niệm, kết sở kỹ thuật mã vạch, mã sửa sai Những ứng dụng Lý thuyết số Đại số tuyến tính cho phép nhận kết quan trọng hệ đếm, mã sửa sai mật mã Qua đây, nhận thấy nhiều kết toán học tưởng chừng có ý nghĩa lý thuyết, song lại mang đến nhiều kết bất ngờ sâu sắc ứng dụng thực tế, kiến thức Số học sơ cấp có mối liên hệ với thành tựu Tin học đời sống Luận văn nhằm tìm hiểu sở việc áp dụng đồng dư vào số lĩnh vực ứng dụng kỹ thuật mã vạch Luận văn bước đầu tìm hiểu ứng dụng Số học có liên quan đến lĩnh vực đề tài quan tâm, với nội dung sau : - Mã vạch, mã số - Mã sửa sai - Khoảng cách Hamming ý nghĩa toán học Mã vạch ứng dụng mẻ thể ứng dụng sâu sắc Số học Hy vọng rằng, trog thời gian chúng sâu tìm hiểu ứng dụng Số học mã vạch hàng hóa cụ thể 41 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] TIẾNG VIỆT Phạm Huy Điển (2002), Tính toán, lập trình giảng dạy toán học Maple, Nhà xuất Khoa học Kỹ thuật, Hà Nội Phạm Huy Điển, Hà Huy Khoái (2004), Mã hóa thông tin - Cơ sở toán học ứng dụng, Nhà xuất Đại học Quốc gia Hà Nội Doãn Tam Hòe (2008), Toán học tính toán, Nhà xuất Giáo dục, Hà Nội Bùi Doãn Khanh, Nguyễn Đình Thúc (2004), Mã hóa thông tin, Lý thuyết ứng dụng, Nhà xuất Lao Động, TP Hồ Chí Minh Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán, Nhà xuất Đại học Quốc gia Hà Nội TIẾNG ANH Brassard (1988), Modern Cryptology Lecture Notes in Computer Science, Springer Verlag D M Burton (2002), Elementary Number Theory, Tata McGraw – Hill Company, New Delhi L Y Kiang, Living with Mathematics (2011), McGraw - Hill Education (Asia), Singapore B Scheier (1996), Applied Cryptography, Wiley D Stinson (1995), Cryptography: Theory and Pratice, CRS Press LLC [...]... cho thit b c mó vch Chỳng cng lm vic tt trong iu kin t ng húa hon ton, chng hn nh trong luõn chuyn hnh lý cỏc sõn bay 23 Cỏc d liu cha trong mó vch thay i tựy theo ng dng Trong trng hp n gin nht l mt chui s nh danh c s dng nh l ch mc trong c s d liu trong ú ton b cỏc thụng tin khỏc c lu tr Cỏc mó EAN-13 v UPC tỡm thy ph bin trờn hng bỏn l lm vic theo phng thc ny Trong cỏc trng hp khỏc, mó vch cha ton... S t nhiờn n s l mt s k-bit vi k = [log2n] + 1 Chng hn i vi s 1994 trong h thp phõn, cú (1994)10 = (11111001010)2 Trong mỏy tớnh, bờn cnh h c s 2, ngi ta cũn dựng h c s 8 hoc c s 16 Lý do ch yu l vỡ chuyn mt s vit trong c s ny sang c s kia sao cho trong c s 2 sang c s 8, ta ch vic nhúm t phi sang trỏi tng khi 3 ch s, ri chuyn s c vit trong khi ú sang dng thp phõn S (11111001010)2 c tỏch thnh cỏc nhúm... biu din c mi s t nhiờn Cỏc ký hiu ny c gi l cỏc ch s trong h c s g Cho n l s t nhiờn khỏc khụng, khi ú n = a k g k + a k 1 g k 1 + L + a1 g + a 0 trong ú a j l cỏc s nguyờn, 0 a j g 1, j = 0,1, , k vi h s u tiờn a k 0 Ta vit (ak ak 1 a1a0 ) g ch s n trong h c s g Cỏc h s a j c gi l cỏc ch s ca n trong h c s g Nhn xột Nu s nguyờn n biu din trong h c s g cú k ch s thỡ g k 1 < n < g k Do ú, s... chỳng rt ging nhau, trỏnh nhm ln, khi tớnh giỏ, phc v khỏch hng tt hn - Thun tin trong vic thc hin cỏc dch v sau bỏn hng: Chm súc khỏch hng, gii quyt phn nn, khiu ni, bo hnh sn phm - Vic s dng mó vch cho sn phm cũn gúp phn nõng cao hỡnh nh sn phm trong nhn thc ca khỏch hng S dng mó vch trong sn xut, kinh doanh l mt xu hng tt yu trong nn sn xut cụng nghip, nht l i vi cỏc doanh nghip Vit Nam hin nay trờn... 15 1.3 Biểu diễn số nguyên và các thuật toán số học Nhng khỏi nim u tiờn v s ó cú t thi rt c xa Nhng khỏi nim ú phỏt sinh t s m Euclide (th k th III trc cụng nguyờn) ó nh ngha s t nhiờn l tp hp c to thnh t cỏc n v Vo giai on phỏt trin u tiờn, loi ngi ch bit cỏc s t nhiờn Nhng cỏc s y khụng dựng ngay c trong trng hp thc t n gin nht Tht vy, nu ch dựng s t nhiờn thỡ trong trng hp tng quỏt mt s t nhiờn... sn phm hng húa ca doanh nghip, trong bi cnh hi nhp kinh t quc t 2.1.1 Mó vch Mó vch l s th hin thụng tin trong cỏc dng nhỡn thy trờn cỏc b mt ca sn phm, hng húa m mỏy múc cú th c c Nguyờn thy thỡ mó vch lu tr d liu theo b rng ca cỏc vch c in song song cng nh ca khong trng gia chỳng, nhng ngy nay chỳng cũn c in theo cỏc mu ca cỏc im, theo cỏc vũng trũn ng tõm hay chỳng n trong cỏc hỡnh nh Mó vch cú th... nguyờn n biu din trong h c s g cú k ch s thỡ g k 1 < n < g k Do ú, s ch s ca n c tớnh theo cụng thc log n k = [log g n] + 1 = +1 log g trong ú ký hiu log ch logarit c s e Trong h c s tu ý, ta cú k = O(log n) 1.3.3 H m thp phõn H c s 10 c gi l h thp phõn Trong ting Vit tờn ca tt c cỏc s t 1 cho ti mt triu gm cú 14 t, ch cỏc s 1, 2, 3, 4, 5, 5, 7, 8, 9, 10, 100, 1000, 10000, 1000000 Ngoi ra, cho... hai thuc tớnh liờn tc hay ri rc Cỏc ký t trong biu t tng trng liờn tc c tip giỏp vi nhau, vi mt ký t kt thỳc bng khong trng v ký t tip theo bt u bng vch, hoc ngc li Cỏc ký t trong biu t tng trng ri rc bt u v kt thỳc bng vch; khụng gian gia cỏc ký t b b qua, cho n chng no m nú rng thit b c coi nh l mó kt thỳc Hai hay nhiu rng cỏc vch: Cỏc vch v cỏc khong trng trong biu t tng trng hai rng l rng hay... bao nhiờu ln so vi vch 24 hp khụng cú giỏ tr gỡ ỏng k trong vic nhn dng ký t (thụng thng rng ca vch rng bng 2-3 ln vch hp) Cỏc vch v khong trng trong biu t tng trng nhiu rng l cỏc bi s ca rng c bn gi l modul; phn ln cỏc loi mó vch ny s dng bn rng ln lt bng 1, 2, 3 v 4 modul Cỏc mó vch cm cha mó vch tuyn tớnh cựng mt loi nhng c lp li theo chiu ng trong nhiu hng Cú nhiu chng loi mó vch 2D Phn ln l cỏc... mng cỏc modul khỏc nhau v kớch thc hay hỡnh dng trong cỏc hỡnh nh c thự riờng 2.1.5 Li ớch ca vic ỏp dng mó vch trong sn xut hng hoỏ - Gúp phn bo v thng hiu thụng qua nhón mó vch - Kim soỏt tin sn xut mt cỏch trc tuyn (ngay lp tc) - Tng nng sut: Nhanh chúng nhp, xut kho tớnh tin, lm húa n phc v khỏch hng - Tit kim: S dng ớt nhõn lc v tn ớt thi gian trong khõu kim kờ, tớnh toỏn bng mỏy quột mó vch ...2 B GIO DC V O TO TRNG I HC VINH DNG NGC ANH NG DNG CA Lí THUYT NG D TRONG K THUT M VCH CHUYấN NGNH: I S V Lí THUYT S Mó s: 60 46 01 05 LUN VN THC S TON HC Ngi hng dn khoa hc PGS.TS... [log g n] + = +1 log g ú ký hiu log ch logarit c s e Trong h c s tu ý, ta cú k = O(log n) 1.3.3 H m thp phõn H c s 10 c gi l h thp phõn Trong ting Vit tờn ca tt c cỏc s t cho ti mt triu gm cú... dng Trong trng hp n gin nht l mt chui s nh danh c s dng nh l ch mc c s d liu ú ton b cỏc thụng tin khỏc c lu tr Cỏc mó EAN-13 v UPC tỡm thy ph bin trờn hng bỏn l lm vic theo phng thc ny Trong