TỐC ĐỘ X2
TỐC ĐỘ X2
TỐC ĐỘ X2

CHUYÊN ĐỀ ÔN THI

Thuật toán Pollard's Rho phân tích một số ra thừa số nguyên tố.

MụclụcTHCS

BÀI TOÁN
Tìm ước nguyên tố lớn nhất của số  .

HƯỚNG DẪN GIẢI
Trước hết ta tìm ƯCLN  của ba số 2177,3421,52872177, 3421, 5287 : GCD(GCD(2177,3421),5287):
Bấm qT. 2 lần , ta có một thừa số của A là 3117311^7, thừa số còn lại là . Nếu ta bấm qn3 kết quả  , thừa số thứ hai là 727^2.

Sau đây ta phân tích số 87887638788763 ra thừa số nguyên tố.

THUẬT TOÁN POLLARD's RHO.
Thuật toán này dựa vào hàm số  "giả ngẫu nhiên" , trong đó z là số cần phân tích ra thừa số nguyên tố.

Xây dựng hai dãy số quy nạp (an)(a_n)  và (bn)(b_n)  như sau:

Sau mỗi bước ta tính GCD(anbn,z)\text{GCD}(|a_n-b_n|,z) . Đến một bước nào đó mà GCD(anbn,z)\text{GCD}(|a_n-b_n|,z) lớn hơn 1 và nhỏ hơn z thì GCD(anbn,z)\text{GCD}(|a_n-b_n|,z)  đó là thừa số nguyên tố đầu tiên, để tìm các thừa số nguyên tố còn lại ta thực hiện phép chia z cho thừa số nguyên tố đó.

  1.  Bấm  (VARIABLES) gán 8788763  vào biến nhớ z  . Bấm Q3 (chỗ bị khuất là x2+1z\dfrac{x^2+1}{z} ) .
  2. Bấm w4 mở một bảng tính . Nhập số 2 vào A1 và B1 . Đưa con trỏ tới A2 bấm I1 điền công thức  . Đưa con trỏ tới B2 bấm I1 điền công thức  
  3. Đưa con trỏ tới C1 bấm I1 điền công thức    (chỗ bị khuất là B1),z)-B1), z)). Để nhập GCD ta bấm  qTR7, để nhập Abs (GTTĐ) ta bấm ở ngoài bàn phím qO. Kết quả .
  4. Duyệt cột C tới dòng 17 ta có thừa số nguyên tố 16971697  . Thừa số còn lại    51795179  là số nguyên tố.


Vậy 

Do đó ước nguyên tố lớn nhất cần tìm là số 51795179.


Thuật toán Pollard's rho do Pollard phát minh năm 1975, nó nổi bật nhờ tốc độ tìm ước số lớn và lượng bộ nhớ cực kỳ nhỏ. 

 Khi xét dãy với pp là một ước nguyên tố của nn , theo nguyên lý Dirichlet dãy này sẽ tuần hoàn sau một thời gian. Phần "đuôi" trước khi vào chu kỳ cộng với phần "vòng lặp" tạo thành hình dạng giống chữ cái Hy Lạp ρ\color{red}\Large \rho (rho) — đó là lý do thuật toán mang tên này.

Thuật toán Pollard's rho từng là chủ đề báo cáo khoa học chuyên đề về Pollard's rho Algorithm diễn ra vào lúc 11:00 đến 12:00 ngày 26/06/2017 tại Viện Toán cao cấp (VIASM), do báo cáo viên TS Lâm Thùy Dương (ĐHSP - Đại học Thái Nguyên) trình bày.

 

BÀI TẬP TƯƠNG TỰ. 

Phân tích số  123456789123456789 ra thừa số nguyên tố. 
 .

Khi chạy thuật toán Pollard 's rho cho đến dòng thứ 30 vẫn chưa xuất thừa số nguyên tố đầu tiên. Để chạy tiếp ta gán A30 và B30 lần lượt vào x và y. Sau đó chép đè x và y lần lượt lên A1 và B1. Duyệt lại cột C ta tìm được  thừa số nguyên tố.

Vậy 

Thay vì đọc có thể xem clip dưới đây: