Điểm:0

Độ phức tạp của phép thử tính nguyên tố Rabin-Miller

lá cờ lk

Tôi đang nghĩ về sự phức tạp của bài kiểm tra tính nguyên tố Rabin-Miller. Trên wikipedia tôi tìm thấy O(k log3n), nhưng không có lời giải thích. Ý tưởng của tôi quá đơn giản. Để xem n có phải là số nguyên tố hay không, chúng ta có k lần thử và với mỗi lần thử, chúng ta kiểm tra xem phần tử đầu tiên b có phải là 1 hay không, nếu không, chúng ta sẽ tìm -1 trong dãy b. Ở đây b = a^u mod n và n-1 = 2^l * u, u lẻ, với (b,b^2^1,b^2^2,b^2^3,...,b^ 2^(l-1)). Vì vậy, tôi giả sử trường hợp xấu hơn, chúng tôi tính toán đến tận số mũ cuối cùng, ngay trước khi chúng tôi đạt đến số nguyên tố cực đại thực tế. Vì vậy, nếu chúng ta có thể biểu diễn n-1 = 2^lu với u lẻ, thì chúng ta cần tổng cộng k*(n-1)/(2u) bước.

Điểm:1
lá cờ sa

nhập mô tả hình ảnh ở đây

Bằng cách sử dụng khai triển nhị phân của một số mũ $t$ và bình phương lặp đi lặp lại bạn có thể tính toán $x^t$ modulo $n$ với $O(\log n)$ modulo $n$ các phép toán nhân.

Và mỗi modulo $n$ nhân và chia sẽ mất $O(\log^2 n)$ phép toán số nguyên. Vì vậy, điều này làm cho $O(\log^3 n)$ phép toán số nguyên.

Một khi bạn có $x^t$ modulo $n,$ sau đó $x^{2t},x^{4t},x^{2^st}$ modulo $n$ có thể thu được bằng cách $s\leq \log_2 n$ lặp lại modulo bình phương lặp đi lặp lại $n$.

Tất cả các hoạt động khác có độ phức tạp thấp hơn.

Nếu bạn lặp lại $k$ lần để giảm xác suất lỗi, bạn nhận được $O(k \log^3 n).$

killertoge avatar
lá cờ lk
Tôi hiểu rằng bằng cách mở rộng nhị phân, tôi sẽ cần các phép toán O(log n) để có được x^n. Vì chúng ta là modulo n, nên mỗi phép nhân tốn O(log^2n), ok!. Chúng tôi thực hiện k lần thử O(k log^3 n), ok!. Nhưng chúng ta không làm hết a^(n-2), vì phép bình phương cuối cùng sẽ là phép thử fermat nguyên tố. Vậy nó là O(k log^2 n log (n-2))?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.