1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thuật toán LLL và ứng dụng trong việc phân tích đa thức

65 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 783,65 KB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH Nguyễn Ngọc Trân THUẬT TỐN LLL VÀ ỨNG DỤNG TRONG VIỆC PHÂN TÍCH ĐA THỨC LUẬN VĂN THẠC SĨ TỐN HỌC Thành phố Hồ Chí Minh – 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH Nguyễn Ngọc Trân THUẬT TOÁN LLL VÀ ỨNG DỤNG TRONG VIỆC PHÂN TÍCH ĐA THỨC Chun ngành: Đại số lí thuyết số Mã số: 60 46 01 04 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHẠM THỊ THU THỦY Thành phố Hồ Chí Minh – 2017 LỜI CAM ĐOAN Tôi xin cam đoan luận văn với đề tài "Thuật toán LLL ứng dụng việc phân tích đa thức" tơi thực hướng dẫn khoa học TS Phạm Thị Thu Thủy Các nội dung nghiên cứu kết đề tài trung thực chưa công bố hình thức trước TP Hồ Chí Minh, ngày 08 tháng 03 năm 2017 Học viên thực Nguyễn Ngọc Trân LỜI CẢM ƠN Trong thời gian thực luận văn, nhận nhiều giúp đỡ, động viên từ quý thầy cơ, gia đình bạn bè Tơi xin chân thành cảm ơn TS Phạm Thị Thu Thủy tận tình giảng dạy, hướng dẫn giúp đỡ tơi hồn thành luận văn Tôi xin gửi lời cảm ơn sâu sắc đến TS Trần Nguyên Thanh Hà dành nhiều thời gian quý báu để đọc đóng góp ý kiến cho luận văn, giúp hiểu sâu đề tài nghiên cứu Tôi xin trân trọng cảm ơn Ban lãnh đạo Khoa Tốn - Tin học, Phịng Sau Đại học tạo điều kiện thuận lợi cho thực tốt luận văn Tôi xin cảm ơn quý thầy cô Hội đồng chấm luận văn đọc góp ý giúp cho luận văn hồn chỉnh Xin chân thành cảm ơn quý thầy cô Khoa Toán - Tin học trường Đại học Sư phạm thành phố Hồ Chí Minh truyền đạt cho tơi kiến thức quý báu gần hai năm vừa qua, cho tảng vững để thực luận văn Cuối cùng, chân thành cảm ơn gia đình ln bên cạnh động viên, ủng hộ tơi trình học tập trình thực luận văn Do thời gian nghiên cứu có hạn nên luận văn nhiều hạn chế khó tránh khỏi vài sai sót, kính mong nhận đóng góp ý kiến q thầy bạn để luận văn hoàn thiện Xin chân thành cảm ơn Học viên thực Nguyễn Ngọc Trân MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC CÁC KÍ HIỆU MỞ ĐẦU 1 DÀN VÀ MỘT SỐ TÍNH CHẤT CỦA DÀN 1.1 1.2 1.3 Giới thiệu dàn 1.1.1 Dàn 1.1.2 Dàn Trực giao hóa Gram- Schmidt 1.2.1 Định nghĩa định lý 1.2.2 Định thức Gram Cực tiểu liên tiếp (Successive minima) 10 1.3.1 Một số định nghĩa 10 1.3.2 Một số định lý 15 THUẬT TOÁN LLL 2.1 18 Thuật toán LLL 19 2.1.1 Khái niệm sở dàn rút gọn 19 2.1.2 Thuật toán LLL nguyên 19 2.2 2.1.3 Ví dụ 21 2.1.4 Một số tính chất sở dàn rút gọn 23 Phân tích thuật tốn LLL 26 2.2.1 Phân tích thời gian chạy thuật toán LLL 26 2.2.2 Ứng dụng thuật toán LLL 34 PHÂN TÍCH ĐA THỨC THÀNH NHÂN TỬ 37 3.1 Phân tích đa thức thành nhân tử 37 3.2 Mơ tả thuật tốn 45 3.2.1 Thuật toán Lin-Comb 45 3.2.2 Thuật toán Lift-Factors 46 3.2.3 Thuật toán LLL-Subalg1 47 3.2.4 Thuật toán LLL-Subalg2 48 3.2.5 Thuật toán Factor-LLL 50 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 CÁC KÝ HIỆU Z Tập hợp số nguyên Q Tập hợp số hữu tỉ R Tập hợp số thực Rn Không gian thực n chiều Z[x] Vành đa thức hệ số nguyên Zpk [x] Vành đa thức hệ số nguyên modulo pk AT Ma trận chuyển vị ma trận A gcd(a, b) Ước chung lớn a b x Số nguyên lớn không vượt x (cịn kí hiệu [x]) x Số ngun nhỏ không nhỏ x x Số nguyên gần x x Chuẩn Euclide véctơ x |x| Giá trị tuyệt đối số x lc(f ) Hệ số bậc cao đa thức f m n n (n ≤ m) Tổ hợp chập n m phần tử Cm Kết thúc chứng minh MỞ ĐẦU Dàn (lattice) tập hợp điểm không gian n-chiều có cấu trúc cố định Trong lịch sử, dàn nghiên cứu từ cuối kỷ 18 nhà tốn học Lagrange, Gauss sau Minkowski Gần đây, dàn trở thành chủ đề hấp dẫn hoạt động nghiên cứu khoa học người ta tìm hàng loạt ứng dụng khoa học máy tính nhiều lĩnh vực khác toán học, đặc biệt từ xuất thuật toán LLL Thuật toán đưa A K Lenstra, H W Lenstra L Lovasz năm 1982 tên thuật toán lấy dựa theo tên ba nhà toán học Thuật toán LLL thuật toán rút gọn sở dàn, giúp giải vấn đề lý thuyết dàn vấn đề tìm véctơ ngắn (shortest vector problem (SVP)), tìm vector gần (closest vector problem (CVP)), tìm sở rút gọn dàn, Ngồi thuật tốn cịn có nhiều ứng dụng toán học sử dụng việc phân tích đa thức với hệ số nguyên hay số hữu tỉ thành nhân tử, xấp xỉ nghiệm phương trình Diophantine Bên cạnh đó, cịn cơng cụ hữu hiệu giải mã, dùng để phá vỡ hệ thống mật mã Merkle- Hellman hàng chục hệ thống mật mã khóa cơng khai khác Điều đáng ý thuật toán chạy thời gian đa thức, có tính ứng dụng rộng rãi đưa vào thực thi nhiều phần mềm GAP, Magma, Maple, Mathematica, Number Theory Library (NTL), PARI/GP, Sage, Luận văn trình bày lý thuyết dàn tính chất, giới thiệu thuật toán LLL nguyên ba nhà toán học A K Lenstra, H W Lenstra L Lovasz, chứng tỏ thuật toán chạy thời gian đa thức ứng dụng áp dụng vào việc phân tích đa thức hệ số nguyên thành đa thức bất khả quy Nội dung luận văn chia thành ba chương: • Chương Dàn số tính chất dàn Chương trình bày định nghĩa dàn, số tính chất đại lượng đặc trưng dàn • Chương Thuật toán LLL Đây hai chương luận văn, chương trình bày hai nội dung – Một đưa thuật toán LLL ngun bản, áp dụng thuật tốn tìm sở LLL rút gọn dàn cho trước – Hai là, phân tích thời gian chạy nêu số ứng dụng thuật tốn • Chương Phân tích đa thức thành nhân tử Chương trình bày ứng dụng thuật tốn LLL việc phân tích đa thức hệ số nguyên thành tích đa thức bất khả quy áp dụng phân tích số đa thức thành nhân tử Chương DÀN VÀ MỘT SỐ TÍNH CHẤT CỦA DÀN 1.1 1.1.1 Giới thiệu dàn Dàn Định nghĩa 1.1.1.1 Cho n véctơ độc lập tuyến tính x1 , x2 , , xn ∈ Rm Dàn sinh chúng định nghĩa sau L (x1 , x2 , , xn ) = n xi |ai ∈ Z i=1 Khi ta gọi x1 , x2 , , xn sở dàn Một cách tương đương, ta gọi X ma trận cấp n × m với dòng x1 , x2 , , xn dàn sinh X L(X) = L (x1 , x2 , , xn ) = {aX|a ∈ Zn } Khi n hạng, m số chiều L(X) Nếu n = m dàn gọi có hạng đầy đủ Để thuận tiện từ sau ta gọi ma trận X sở dàn sinh Ví dụ 1.1.1.1 Dàn sinh sở (1, 0) (0, 1) R2 Z2 (dàn tất điểm nguyên) Cơ sở khơng ta có (1, 1) (2, 1) sở Z2 Tuy nhiên, (1, 1) (2, 0) không sở Z2 mà sở dàn điểm nguyên mà có tổng tọa độ số chẵn Hai dàn dàn hạng đầy đủ Dàn sinh véctơ (2, 1) dàn có hạng khơng đầy đủ có hạng không gian chiều 44 với ≤ j ≤ m + − deg(h0 ) Hay {1, 2, , m + − deg(h0 )} ⊂ J (3.11) Mặt khác b1 , b2 , · · · , bm+1 sở L nên bj độc lập tuyến tính, số phần tử tập J không vượt số chiều không gian trên, nghĩa không vượt m + − deg(h1 ) Kết hợp với bao hàm thức (3.11) ta có m + − deg(h0 ) ≤ m + − deg(h1 ) ⇒ deg(h1 ) ≤ deg(h0 ) Ta lại có h0 chia hết h1 ⇒ deg(h0 ) ≤ deg(h1 ) Vậy deg(h0 ) = deg(h1 ) h0 = a · h1 , với a ∈ Z Đặt t = m + − deg(h0 ) ⇒ deg(h0 ) = m + − t J = {1, 2, , t} Theo Mệnh đề 3.1.0.3 ta có deg(h0 ) ≤ m nên h0 ∈ L Ta chứng minh h0 h1 , sai khác dấu, điều đủ để kiểm tra h1 nguyên thủy Chọn j ∈ J lấy dj số nguyên lớn mà đa thức bj rút gọn Nói cách khác dj ước chung lớn tất hệ số bj Khi h0 ∈ L nên bj /dj chia hết h0 nên bj /dj ∈ L Mà bj thuộc sở L, dj = bj nguyên thủy, điều tương tự cho nhân tử h1 bj , tức h1 nguyên thủy Do h0 = ±h1 Nhận xét 3.1.0.2 Nếu t = từ Mệnh đề 3.1.0.4 ta có b1 nhân tử bất khả quy f , khơng cần tính ước chung lớn Từ chứng minh Mệnh đề 3.1.0.3 Mệnh đề 3.1.0.4 ta thấy (3.6) thay pk > β n γ n |f |m , β = max{|bj |/|b∗i | : ≤ j ≤ i ≤ m + 1} γ thỏa |g| ≤ γ với nhân tử g f Z[X] với deg(g) ≤ m 45 Định nghĩa 3.1.0.2 Hai đa thức f, g ∈ Z[X] khác đa thức không gọi đồng dạng tồn hệ số đồng dạng α, β ∈ Z∗ cho α · f = β · g Định nghĩa 3.1.0.3 Một đa thức f ∈ Z[X] gọi khơng có nhân tử bình phương nhân tử không tầm thường a f (nghĩa a không đồng dạng với f a không đa thức hằng) xuất với bội số f Định lý 3.1.0.2 Cho f ∈ Z[X] đa thức khác khơng K[X], K trường có đặc số K = Zp với p số nguyên tố Khi f đa thức khơng có nhân tử bình phương gcd(f, f ) = (với f đạo hàm f ) Chứng minh Chi tiết chứng minh xem [15, trang 101] 3.2 Mô tả thuật tốn Trước trình bày thuật tốn chính, ta đưa số thuật toán phụ hỗ trợ sau 3.2.1 Thuật tốn Lin-Comb • Input: [a1 , a2 , , ar ] • Output: [b1 , b2 , , br ] Trong ∈ K[x] (K trường), nguyên tố đôi một; bi ∈ K[x], deg(bi ) Bây ta mơ tả thuật tốn phân tích f thành nhân tử bất khả quy Z[X] Chúng ta bắt đầu với hai thuật toán phụ sau 3.2.3 Thuật toán LLL-Subalg1 • Input: f, p, k, h, m • Output: h0 [Trong đó, f đa thức nguyên thủy Z[x], khơng có nhân tử bình phương; p số nguyên tố không chia hết cho lc(f ) (f mod p) đa thức khơng có nhân tử bình phương; h 1à đa thức bất khả quy Zpk [X] cho lc(h) = h chia hết (f mod pk ); h mod p bất khả quy Zp [x] m số nguyên thỏa m ≥ deg(h) cho n/2 2m > · |f |m+n ; h0 nhân tử bất khả quy f cho (h mod p) m chia hết (h0 mod p) nhân tử có bậc ≤ m, ngược lại khơng có h0 ] pk deg(h) 2mn/2 · (1) n := deg(f ); := deg(h) ; (2) (b1 , b2 , , bm+1 ) := sở LLL rút gọn (pk x0 , , pk x −1 , hx0 , , hxm−1 ); (3) Nếu |b1 | ≥ (pk /|f |m )1/n khơng có h0 , ngược lại {t := số nguyên lớn cho |bt | < (pk /|f |m )1/n ; h0 := gcd(b1 , b2 , , bt )} Mệnh đề 3.2.3.1 Số bước lặp cần thực thuật toán O(m4 k log p), số nguyên bước lặp thực có độ dài nhị phân (là số bit dùng để biểu diễn nhị phân số đó) O(mk log p) 48 Chứng minh Đầu tiên ta nhận thấy thuật toán đa thức h có hệ số rút gọn theo mơđun pk , h ≤ + p2k =: B Do ≤ n điều kiện đầu vào m ta ≤ m nên lấy log hai vế B ta có thấy m bị chặn k log p Mặt khác log < log B = O(k log p) Áp dụng Nhận xét 2.2.1.2 ta đạt chặn cho véctơ bước thuật tốn Tiếp theo, ta tìm chặn cho bước Trong bước ta cần tính tốn ước chung lớn b1 , b2 , , bt véctơ có độ dài c < (pk /|f |m )1/n ⇒ log c < k log p Ước lượng tìm tương tự trên, xem [5, trang 416] Tiếp theo giả sử rằng, f n, số nguyên tố p đa thức h ∈ Z[X] cho thỏa (a), (b), (c), (d) với k thay Giả sử hệ số h lấy theo modulo p Chúng ta mơ tả thuật tốn sau, thuật tốn tìm h0 - nhân tử bất khả quy f - cho (h mod p) chia hết (h0 mod p), so sánh với Mệnh đề 3.1.0.1 3.2.4 Thuật toán LLL-Subalg2 • Input: f, p, h; • Output: h0 [Trong f đa thức ngun thủy, khơng có nhân tử bình phương; p số ngun tố không chia hết cho hệ số bậc cao đa thức f f mod p đa thức khơng có nhân tử bình phương; h 1à đa thức bất khả quy Zp [X] cho h có hệ số cao h chia hết (f mod p); h0 nhân tử bất khả quy f cho h chia hết (h0 modp).] (1) n := deg(f ); := deg(h) ; = n h0 := f ; trả kết quả; [now < n.] (2) k := số nguyên dương nhỏ cho pk > 2(n−1)n/2 · 2(n − 1) n−1 n/2 · |f |2n−1 ; 49 [h , h ] := Lift-Factors (f, [(f /h mod ), h], p, k); [h ∈ Zpk [x] đồng dư với h theo môđun p , hệ số cao h h chia hết (f mod pk ).] ≤ (n − 1)/2u (3) u := số nguyên dương lớn cho u > tính {m := (n − 1)/2u ; h0 := LLL-Subalg1 (f, p, k, h , m); h0 = error trả kết quả; u := u − 1}; (4) h0 := f ; trả kết Mệnh đề 3.2.4.1 Ký hiệu m0 = deg(h0 ) bậc nhân tử bất khả quy f mà tìm Thuật tốn Khi số bước lặp tính tốn Thuật toán O(m0 (n5 + n4 log|f | + n3 log p)) số nguyên bước lặp thực có độ dài nhị phân O(n3 + n2 log|f | + n log p) Chứng minh Do k số nguyên dương nhỏ thỏa bước (2) Thuật toán trên, nên ta có: p k−1 ≤p (k−1) (n−1)n/2 ≤2 · 2(n − 1) n−1 n/2 · |f |2n−1 Lấy log vế bất đẳng Khi tính chất log ta có 2(n − 1) log n−1 n/2 ≤ log(22(n−1) )n/2 = (n − 1)n log Từ ta có k log p = (k − 1) log p + log p ≤ n2 + n log |f | + log p, hay k log p = O(n2 + n log p|f | + log p) 50 Gọi m1 giá trị lớn m mà thuật toán thực Do ta bắt đầu m nhỏ dừng m ≥ deg(h0 ) suy m1 < 2m0 giá trị khác m thử có dạng [m1 /2i ], với i ≥ nên lấy tổng tất giá trị m ta m1 m1 m ≤ u + + + m1 = m1 · 2 Suy u+1 −1 2 −1 ≤ 2m1 ≤ 4m0 m4 = O(m40 ) Áp dụng Mệnh đề 3.2.3.1 ta kết luận số lượng phép tốn số học cần để hồn thành bước m40 k log p ≤ m40 (n2 + n log |f | + log p) ≤ m0 (n5 + n4 log |f | + n3 log p), số ngun thuật tốn có độ dài nhị phân O(m1 k log p), mà m1 ≤ 2m0 ≤ m0 (n2 + n log |f | + log p) ≤ n3 + n2 log |f | + n log p Các ước lượng thỏa thực bước Cuối cùng, mô tả thuật tốn phân tích đa thức ngun thủy f ∈ Z[X] cho trước có bậc n > thành nhân tử bất khả quy Z[X] 3.2.5 Thuật tốn Factor-LLL Đầu tiên ta có định nghĩa tính chất sau Định nghĩa 3.2.5.1 Cho hai đa thức f (x) = a0 xn + + an g(x) = b0 xm + + bm với a0 b0 = 0, Resultant f g, kí hiệu R(f, g), hai đa thức định nghĩa n R(f, g) = am b0 (αi − βj ), i,j αi , βj nghiệm đa thức f (x) g(x) Tính chất 3.2.5.1 Từ định nghĩa ta thấy rằng, R(f, g) = f g có nghiệm chung Do R(f, g) hàm đối xứng nghiệm f g nên 51 biểu diễn theo hệ số Sự biểu diễn định thức cấp m × n (với m dịng chứa hệ số f n dòng chứa hệ số g) sau R(f, g) = a0 a1 a0 a1 a0 b0 b1 b0 b1 an an a1 a n bm bm b0 b1 bm Bây ta mô tả thuật tốn Bước đầu tiên, ta tính tốn kết R(f, f ) f đạo hàm f , sử dụng Tính chất 3.2.5.1 Nếu R(f, f ) = f f có ước chung lớn ước g Z[X] bậc dương g tính tốn thuật tốn phụ [5, 4.6.1] Trường hợp xét lúc kết thúc thuật toán Bây giả sử R(f, f ) = Trong bước thứ hai, ta xác định số nguyên tố p nhỏ không chia hết R(f, f ) phân tích (f mod p) thành nhân tử bất khả quy Fp [X] thuật toán Berlekamp [5, 4.6.2] Chú ý R(f, f ), sai khác dấu, tích hệ số đầu f biệt số f Vì R(f, f ) không đồng dư với modulo p kéo theo (f mod p) có bậc n khơng có bội nhân tử Fp [X] Do điều kiện (d) 3.1 ln thỏa với nhân tử bất khả quy (h mod p) (f mod p) Fp [X] Bước thứ ba, giả sử ta biết phân tích f = f1 · f2 Z[X] (f2 mod p) Fp [X] nhân tử bất khả quy f1 biết Lúc bắt đầu ta lấy f1 = 1, f2 = f Trong trường hợp tiến hành sau Nếu f2 = ±1 f = ±f1 phân tích hồn tồn Z[X] thuật tốn dừng Bây giả sử f2 có bậc dương chọn nhân tử bất khả quy (h mod p) (f2 mod p) F[X] Chúng ta giả sử hệ số h rút gọn theo modulo p h có hệ số cao Khi trường hợp mơ tả lúc bắt đầu Thuật tốn 4, với f2 vai trò f sử dụng thuật tốn để tìm nhân tử bất khả quy h0 f2 Z[X] mà (h mod p) chia hết (h0 mod p) 52 Bây ta thay f1 f2 tương ứng với f1 h0 f2 /h0 từ nhân tử bất khả quy (f2 mod p) ta bỏ mà chia hết (h0 mod p) Sau ta quay lại bắt đầu bước Điều kết thúc mô tả thuật toán trường hợp R(f, f ) = Bây giả sử R(f, f ) = 0, lấy g= gcd(f , f ) Z[X], đặt f0 = f /g Khi f0 khơng có bội nhân tử Z[X] nên R(f, f ) = ta phân tích f0 sử dụng phần thuật tốn Do nhân tử bất khả quy g Z[X] chia hết f0 hồn thành phân tích f = f0 g phép thử Kết thúc mơ tả thuật tốn Định lý 3.2.5.1 Thuật tốn phân tích đa thức nguyên thủy f ∈ Z[X] bậc n dương thành nhân tử bất khả quy Z[X] Số phép tính số học cần thực thuật toán O(n6 + n5 log|f |) số nguyên mà phép tính thực số có độ dài nhị phân O(n3 + n2 log|f |) Nhận xét 3.2.5.1 Việc sử dụng thuật toán cổ điển cho phép tính số học dẫn đến chặn O(n12 + n9 (log |f |)3 ) cho số bit phép tốn Chứng minh (Định lý 3.2.5.1) Tính đắn thuật tốn rõ ràng từ mơ tả Để chứng minh ước lượng giả sử R(f, f ) = Ta bắt đầu chặn cho p Vì p số nguyên tố nhỏ không chia hết R(f, f ) nên ta có q ≤ |R(f, f )| (3.12) q eAp , (3.13) q 2, xem [4, Bài.22.2]; theo [2] ta lấy A = 0.84 với p > 101 Từ bất đẳng thức Hadamard ta có |R(f, f )| ≤ nn |f |2n−1 53 Kết hợp với (3.12) (3.13) ta kết luận p < (n log n + (2n − 1) log |f |)/A (3.14) p = Do điều khoản liên quan đến log p Mệnh đề 3.2.4.1 hấp thu điều khoản khác Nhắc lại Thuật toán bước số lượng phép toán số học O(m0 · (n5 + n4 log |f2 |)), m0 bậc nhân tử h0 tìm thấy Do f2 chia hết f , định lý Mignotte sử dụng chứng minh Mệnh đề 3.1.0.3 kéo theo log|f2 | = O(n+ log|f |) Hơn tổng m0 bậc nhân tử bất khả quy f rõ ràng n Áp dụng Mệnh đề 3.2.4.1 ta kết luận tổng số phép toán số học O(n6 + n5 log |f |) số nguyên Thuật tốn số có độ dài nhị phân O(n3 + n2 log |f |) Bây phải chứng minh phần lại thuật tốn có ước lượng Điều dễ dàng thấy thuật toán phụ bước phần lại bước thứ ba Bây ta xét bước thứ hai Đặt P vế phải (3.14) Khi p tìm thấy sau O(P ) phép lặp tính tốn với số nguyên có độ dài nhị phân O(P ), ta áp dụng [13] để tạo bảng số nguyên tố < P , sử dụng thay bảng số không phương, dễ tạo Từ p < P kéo theo định lý Berlekamp thỏa mãn ước lượng nêu định lý, xem [4, 4.6.2] Cuối cùng, đặt R(f, f ) = f0 = f /gcd(f, f ) thuật toán Do f0 chia hết f , áp dụng định lý Mignotte lần ta log|f0 | = O(n + log |f |) Bây định lý dễ dàng suy cách áp dụng trường hợp trước cho f0 Áp dụng thuật toán ta tính tốn ví dụ sau Ví dụ 3.2.5.1 Vận dụng phân tích đa thức f = x4 − 3x + thành nhân tử bất khả quy Z[x] Giải Input: f = x4 − 3x + Output: Đa thức f bất khả quy Thật vậy, 54 Bước Ta có n = 4, f = 4x3 − Suy R(f, f ) = −1931 Bước Theo yêu cầu thuật toán ta chọn p = f ≡ (x + 1) · (x3 − x2 + x + 1) (mod 5) Bước Tìm h0 cách áp dụng thuật tốn với f , p = 5, h = x3 − x2 + x + 3k Khi k = số nguyên dương thỏa > · · |f |7 Áp dụng thuật toán ta f ≡ (x − 139) · (x3 + 139x2 − 54x − 9)(mod 54 ) Vì u = số nguyên dương lớn cho ≤ 3/2u nên ta kết luận h0 = f Bây ta áp dụng thuật toán với f , p = 5, h = x + k · |f |7 Khi đó, k = 12 số nguyên dương thỏa > · Áp dụng thuật toán ta f ≡ (x + 46966736) · (x3 − 46966736x2 + 22915571x − 42196259)(mod 512 ) Lúc u = số nguyên dương lớn thỏa ≤ 3/2u Khi áp dụng thuật tốn với f , p = 5, k = 12, h = h = x + 46966736, m = Tính toán ta sở rút gọn LLL (512 , x + 46966736) b1 = (−10212, −6217), b2 = (6781, −19779) Vì |b1 | > (512 /|f |)1/4 nên h0 = f Tiếp tục thực thuật toán với f, p, k trên, h = h = x3 − 46966736x2 + 22915571x − 42196259 m = Ta tính h0 = f Vậy thuật toán cho kết h0 = f hay đa thức f bất khả quy Ví dụ 3.2.5.2 Phân tích đa thức f = x4 + x3 + 2x2 + x + thành nhân tử bất khả quy Z[x] Giải Input: f = x4 + x3 + 2x2 + x + Output: f = (x2 + 1) · (x2 + x + 1) Thật vậy, 55 Bước Ta có n = 4, f = 4x3 + 3x2 + 4x + R(f, f ) = 12 Bước Theo yêu cầu thuật toán ta chọn p = 41 f ≡ (x − 9) · (x + 9) · (x2 + x + 1)(mod 41) Bước Tìm h0 cách áp dụng thuật toán với f , p = 5, h = x − k Khi k = số nguyên dương k thỏa > · · |f |7 Áp dụng thuật toán ta f ≡ (x + 46464143) · (x3 − 46464142x2 − 46464142x − 46464143) (mod 415 ) Khi áp dụng thuật tốn với f , p = 41, k = 5, h = h = x + 46464143, m = Ta tính tốn sở rút gọn LLL (415 , h , h x, h x2 ) b1 = (1, 0, 1, 0, 0), b2 = (−5237, −2476, 5238, 0, 0), b3 = (1238, −10475, −1238, 0, 0), b4 = (−1107107, −522435, 1103118, 1, 0), b5 = (51440777964301, 24274494548205, −51255432497874, 0, 1) Do có phần tử sở rút gọn thỏa điều kiện bước Thuật toán nên h0 = b1 = (1, 0, 1, 0, 0) = x2 + Vậy ta có phân tích f = (x2 + 1) · (x2 + x + 1) 56 KẾT LUẬN Như luận văn hoàn thành đạt kết sau - Trình bày thuật tốn LLL - Chứng minh thuật toán chạy thời gian đa thức - Áp dụng đặc biệt phân tích đa thức thành nhân tử Thuật tốn LLL cịn ứng dụng khác áp dụng nhiều tương lai toán mở đặt thực hành, thuật tốn LLL có thời gian chạy tốt nhiều so với lý thuyết Việc cải tiến thuật toán theo nghĩa rút ngắn thời gian chạy rút ngắn độ phức tạp vấn đề hấp dẫn 57 TÀI LIỆU THAM KHẢO Barkley Rosser J., Schoenfeld L (1962), "Approximate formulas for some functions of prime numbers", III J Math., 6, pp 64 − 94 Bremner M R (2012), Lattice basis reduction: An introduction to the LLL algorithm and its applications, CRC Press, Boca Raton Cassels J.W.S (1971), An introduction to the geometry of numbers, Springer, Berlin, Heidelberg, New York Hardy G.H., Wright E.M (1979), An introduction to the geometry of numbers, Oxford University, Oxford Knuth D.E (1981), The art of computer programming, Addision-Wesley publishing company, Canada Lenstra A.K., Lenstra H.W., and Lovasz L (1982), "Factoring polynomials with rational coefficients", Math Ann., 261, pp 515 − 534 Lenstra A.K (1981), Lattices and factorization of polynomials, Mathematisch Centrum, Amsterdam Lenstra H.W., J.R (2008), "Lattices", Surveys in algorithmic number theory, pp 127− 181 Micciancio D., Goldwasser S (2002), Complexity of Lattice Problems – A Cryptographic Perspective, Springer Science + Business Media New York, pp 125 - 141 58 10 Mignotte M (1974), "An inequality about factors of polynomials", Math Comp., 28, pp 1153 − 1157 11 Mignotte M (1992), Mathematics for computer algebra, Springer, New York Berlin, Heidelberg Tokyo 12 Mignotte M (1983), "Some useful bounds", Computer algebra, symbolic and algebraic computation, 2, pp 259 − 263 13 Pritchard P (1981), "A sublinear additive sieve for finding prime numbers", Comm ACM, 24, pp 18 − 23 14 Regev O (2009), "Lattices in Computer Science" (Lecture notes) 15 Winkler F (1996), "Polynomial Algorithms in Computer Algebra", Springer, Wien New York ... số ứng dụng thuật tốn • Chương Phân tích đa thức thành nhân tử Chương trình bày ứng dụng thuật tốn LLL việc phân tích đa thức hệ số nguyên thành tích đa thức bất khả quy áp dụng phân tích số đa. .. thiệu thuật toán LLL nguyên ba nhà toán học A K Lenstra, H W Lenstra L Lovasz, chứng tỏ thuật toán chạy thời gian đa thức ứng dụng áp dụng vào việc phân tích đa thức hệ số nguyên thành đa thức. .. 23 Phân tích thuật tốn LLL 26 2.2.1 Phân tích thời gian chạy thuật toán LLL 26 2.2.2 Ứng dụng thuật toán LLL 34 PHÂN TÍCH ĐA THỨC

Ngày đăng: 19/06/2021, 15:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w