Giải thuật Simple 38

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 41 - 46)

Một giải pháp khác tuy đơn giản nhưng lại rất hiệu quả có thể được sử dụng để tìm tất cả các đa thức bất khả quy bậc trên . Ý tưởng chính của giải thuật là như sau. Ta sẽ lần lượt phát sinh ra tất cả các đa thức bậc , rồi dùng giải thuật kiểm tra tính bất khả quy của mỗi đa thức và loại bỏ những đa thức khả quy. Cuối cùng ta thu được kết quả là các đa thức bất khả quy cần tìm.

Chú ý rằng đối với trường ta chỉ cần kiểm tra các đa thức bậc dạng

1 … 1, trong đó các hệ số 1, 0,1   1 1. Giải thuật dùng để kiểm tra tính bất khả quy của một đa thức dựa trên cơ sở của định lý 2.2.4.1 ở trang kế (theo [34], Theorem 19.10, trang 513).

Định lý 2.2.4.1

Giả sử 1, gọi là tích của tất cả các đa thức bất khả quy bậc  có hệ số đầu bằng 1 của trường . Khi ấy với mỗi số nguyên dương ta đều có:

∏ |     2.2.4.1 ,

trong đó tích số được thực hiện trên tất cả các ước số nguyên dương của .

Giả sử ta có đa thức cần kiểm tra xem có phải là đa thức bất khả quy hay không. Ta thấy rằng là tích của tất cả các đa thức bất khả quy có bậc chia hết

, nên nếu có chứa thừa số bất khả quy bậc  thì gcd  , phải khác 1.

Do đó, nếu đa thức có bậc và gcd , 1 với mọi 1 thì phải là đa thức bất khả quy.

Ta có nhận xét thêm rằng nếu khả quy và có nhân tử có bậc /2 thì nó cũng phải có nhân tử có bậc /2 (chẳng hạn / có bậc nhỏ hơn hay bằng /2).

Do đó, ta chỉ cần kiểm tra gcd , 1 cho tới bậc /2 là đủ.

Ta có giải thuật kiểm tra tính bất khả quy của đa thức ở trang kế (theo [34], trang 523). Độ phức tạp của giải thuật là   .

Giải thuật IPT (Irreducible Polynomial Testing) kiểm tra tính bất khả quy của đa thức

Input: Đa thức cần kiểm tra có bậc

Output: Giá trị true (bất khả quy) hoặc false (khả quy)

    for 1to /2 do     ifgcd  , 1 return false end if end for return true

Giải thuật Simple phát sinh ra tất cả các đa thức bậc và sử dụng giải thuật IPT để

kiểm tra và loại bỏ những đa thức không phải là đa thức bất khả quy. Phương pháp này tuy đơn giản nhưng lại vô cùng hiệu quả so với hai phương pháp trước. 

Ta sẽ phân tích ưu, khuyết điểm của mỗi giải thuật và so sánh hiệu quả của chúng ở mục 3.2 trong chương 3 (cài đặt thử nghiệm).

Theo định lý 2.2.4.1 ở trên ta có chứa tích của tất cả các đa thức bất khả quy có bậc bằng , do đó nếu là đa thức square-free thì gcd  , sẽ cho ta tích của tất cả các thừa số bất khả quy có bậc bằng của . Ta có thể tính gcd 

, sau đó tính gcd  , để có được tất cả các thừa số bất khả quy bậc hai của và loại chúng ra khỏi , … và đây chính là ý tưởng cơ bản của việc phân tích đa thức ở dạng square-free thành các nhân tử là tích của các thừa số bất khả quy có cùng bậc .

Giải thuật IPT được sửa đổi thành giải thuật DDF (Distinct Degree Factorization) ở trang kế (theo [34], trang 531), được thực hiện ở giai đoạn đầu của giải thuật Cantor-

Zassenhaus mà ta đã đề cập đến ở mục 2.2.3 bên trên.

Giải thuật DDF (Distinct Degree Factorization)

Input: Đa thức dạng square-free

Output: Danh sách chứa các cặp , trong đó là đa thức tích của tất cả các thừa số bất khả quy bậc của     0 while ( 1) do     1 gcd  , if ( 1) , /     end if end while return

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 41 - 46)