Apakah penghapusan kuadrat lebih mudah daripada anjak piutang?

8

Tampaknya bagi saya bahwa tugas penghapusan kuadrat dapat direduksi menjadi tugas anjak piutang , tetapi tidak ada cara untuk mengurangi anjak piutang menjadi penghapusan kuadrat. Apakah ada cara untuk membuat "perasaan" ini lebih tepat, yaitu beberapa hipotesis umum yang diyakini akan dilanggar jika anjak piutang dapat dikurangi menjadi penghapusan kuadrat? Tetapi jika penghapusan persegi memang lebih mudah daripada memfaktorkan (dalam arti garis besar di atas), maka pertanyaan berikutnya adalah apakah ini merupakan masalah antara-NP (yaitu apakah algoritma waktu polinomial untuk itu diketahui atau tidak).


Berikut ini adalah deskripsi canggung tentang penghapusan persegi dan tugas anjak piutang :

Biarkan diberikan dalam representasi biner. Biarkan dengan prime, , dan untuk menjadi faktorisasi utama . n = aku p α aku aku p aku α akuNp akup j aku j nnNn=ipiαipiαiNpipjijn

  • Untuk penghapusan kuadrat, representasi biner dari diminta.m=ipi
  • Untuk anjak piutang, menemukan (representasi biner dari) faktor non-sepele diminta, yaitu sejumlah dengan , , dan .q = j p β j j 1 < q < n β jN β jα jnq=jpjβj1<q<nβjNβjαj
Thomas Klimpel
sumber
3
nipi disebut sebagai radikal dari . Ada diskusi yang relevan di math.stackexchange.com/a/171571 . n
Emil Jeřábek
1
Sama seperti komentar sampingan: Saya menganggap pertanyaan Anda ditargetkan pada bilangan bulat. Untuk polinomial, faktorisasi bebas persegi memang jauh lebih sederhana daripada faktorisasi penuh.
Christopher Creutzig

Jawaban:

10

Saya percaya tidak ada algoritma polinomial yang dikenal.

Menurut sebuah makalah ini digunakan di setidaknya satu cryptosystem:

Abstrak. Kami mengusulkan modulo cryptosystem berdasarkan pada cryptosystem RSA. Kami memilih modulus yang sesuai yang menolak dua algoritma anjak tercepat, yaitu saringan bidang angka dan metode kurva eliptik.p k qpkqpkq

Jika Anda dapat menemukan Anda akan menghancurkan cryptosystem dengan menghitung .p k qpqpkqpq=pk1


Pertanyaan ini menunjukkan tidak ada algoritma polinom yang diketahui memutuskan apakah integer adalah squarefree (semua Anda ).αi=1

joro
sumber
Pertanyaan menarik dan jawaban yang bagus!
Tayfun Bayar
11

Kita dapat menunjukkan bahwa jika semua berbeda, maka penghapusan kuadrat dan factoring sama-sama keras.αsayan

Jelas, bahwa jika kita dapat faktor , kita juga dapat menghitung penghapusan persegi .nnn

Arah lain sedikit lebih rumit. Pertama hitung penghapusan kuadrat dari dan mari kita sebut ini . Dari definisi tersebut maka membagi . Membagi dengan berulang kali sampai kita mencapai angka, yang tidak habis dibagi oleh , saya akan menyebutnyam m n m m xnmmnmmx

x=nmb

Sekarang hitung , jika memiliki lebih dari satu faktor utama, mereka akan memiliki identik dalam produk asli , yang bertentangan dengan asumsi bahwa semua berbeda , maka adalah faktor utama dalam . pαinαipnhal=mgcd(x,m)halαsayanαsayahaln

Mengetahui satu faktor utama dalam adalah mungkin untuk mengurangi masalah menjadi anjak lebih kecil , yang memenuhi kriteria yang sama, sehingga algoritme dapat diulang.n nn

Kami juga dapat menunjukkan bahwa jika semua sama, maka penghapusan kuadrat mudah. Itu karena hanya dapat memiliki ukuran logaritmik dalam , dan setiap kemungkinan dapat diuji dengan menghitung akar th dari .α i n α i α i nαsayaαsayanαsayaαsayan

Namun hasil yang diperoleh dengan cara itu akan salah jika tidak sama. Hasil yang diperoleh akan benar jika gratis persegi. Dan @joro menunjukkan, bahwa tidak ada algoritma polinom yang diketahui untuk memutuskan apakah suatu angka bebas kuadrat.αsaya

Jadi untuk beberapa penghapusan persegi dan anjak piutang adalah sama. Untuk penghapusan persegi lainnya mudah. Mengisahkan kedua kasing itu tampaknya sulit.nnn

kasperd
sumber