Misalkan kita memiliki kelas objek (katakanlah grafik, string), dan relasi ekivalensi pada objek-objek ini. Untuk grafik ini bisa berupa grafik isomorfisme. Untuk string, kita bisa mendeklarasikan dua string yang setara jika mereka adalah anagram satu sama lain.
Saya tertarik menghitung perwakilan untuk kelas kesetaraan. Yaitu, saya menginginkan fungsi f () sedemikian rupa sehingga untuk dua objek x, y, f (x) = f (y) iff x dan y adalah ekuivalen. (*)
Sebagai contoh anagram, f (s) dapat mengurutkan huruf dalam string, yaitu. f ('cabac') = 'aabcc'. Untuk grafik isomorfisme, kita dapat menganggap f (G) sebagai grafik G 'yang isomorfis terhadap G dan merupakan grafik pertama yang secara leksikorafikal memiliki properti ini.
Sekarang pertanyaannya: Apakah ada contoh di mana masalah menentukan apakah dua elemen setara adalah "mudah" (poly time solvable), sementara menemukan perwakilan sulit (yaitu tidak ada algoritma waktu poli untuk menghitung f () yang memenuhi ( *))
sumber
Jawaban:
Mudah untuk menguji apakah dua angka yang berbeda sama: menghitung gcd mereka, menguji apakah nontrivial, menguji apakah gcd kurang dari kofaktor, dan menguji apakah gcd dan kofaktornya semuanya prima.
Tetapi tidak jelas bagaimana menghitung fungsi representatif dalam waktu polinomial, dan jika Anda menambahkan persyaratan bahwa harus setara dengan maka fungsi representatif mana pun akan memungkinkan kami untuk memfaktorkan sebagian besar produk dari dua bilangan prima (setiap satu yang tidak perwakilannya sendiri).f ( x ) xf f(x) x
sumber
Dua bilangan bulat mod sama dengan jika mod . Jika seseorang dapat dengan mudah menghitung perwakilan kelas untuk fungsi ini, maka anjak piutang dapat dilakukan dalam waktu polinomial probabilistik.n x 2 ≡ y 2 nx,y n x2≡y2 n
Secara umum, contoh seperti itu akan menyiratkan bahwa . Misalkan adalah hubungan ekivalensi yang dapat ditentukan dalam waktu polinomial. Kemudian dengan pencarian leksikografis menggunakan oracle , orang dapat menemukan elemen paling leksikografis dalam kelas ekivalensi string apa pun. Jika , ini menjadi waktu polinomial, sehingga Anda dapat menggunakan string ekuivalen leksikografis sebagai perwakilan kelas. Pengamatan ini awalnya karena Blass dan Gurevich [1].R N P P = N PP≠NP R NP P=NP
Contoh seperti itu juga menyiratkan (dan karenanya, dalam particluar, ).UP⊈BQP P≠UP
Pertanyaan yang Anda ajukan adalah apa yang kami dalam makalah kami dengan Lance Fortnow [2]. Makalah itu juga mencakup hasil yang telah saya nyatakan di sini, serta contoh fungsi hash yang ditunjukkan oleh Peter Shor, beberapa contoh lain yang mungkin, dan hasil serta pertanyaan terkait.PEq=?Ker(FP)
[1] Blass, A. dan Gurevich, Y. Hubungan ekivalensi, invarian, dan bentuk normal . SIAM J. Comput. 13 (4): 682-689, 1984.
[2] Fortnow, L. dan Grochow, kelas Kompleksitas JA masalah kesetaraan ditinjau kembali . Memberitahu. dan Komputasi. 209 (4): 748-763, 2011. Juga tersedia di arxiv .
sumber
Apakah "perwakilan" harus berada di kelas kesetaraan?
Jika tidak, maka mengambil cryptographically kuat hash fungsi dengan resistensi tabrakan.f
Biarkan jika ,. Sangat mudah untuk menguji apakah dua hal itu setara, tetapi jika, mengingat , Anda dapat menemukan preimage kanonik , maka Anda dapat menemukan dua string dan sedemikian rupa sehingga ,. Ini seharusnya sulit (itulah yang berarti resistensi tabrakan).x≃y f(x)=f(y) f(x)=h h x y f(x)=f(y)
Tentu saja, para ilmuwan komputer tidak dapat membuktikan bahwa fungsi hash yang kuat secara kriptografis dengan resistensi tabrakan ada, tetapi mereka memiliki sejumlah kandidat.
sumber
Pertama, apa yang sebenarnya Anda minta biasanya disebut invarian lengkap. Bentuk kanonik atau normal juga mensyaratkan bahwa setara dengan untuk semua . (Meminta "perwakilan" agak ambigu, karena beberapa penulis mungkin bermaksud untuk memasukkan kondisi bentuk kanonik.)f(x) x x
Kedua, tolong maafkan promosi diri yang tidak tahu malu ini, tapi ini adalah salah satu pertanyaan yang saya dan Fortnow kerjakan. [1] Kami menunjukkan bahwa jika setiap relasi ekivalensi yang dapat diputuskan dalam juga memiliki invarian lengkap dalam , maka hal-hal buruk terjadi. Secara khusus, ini akan menyiratkan . Jika versi janji dari pernyataan ini berlaku (lihat Teorema 4.6) maka dan .P FP UP⊆BQP NP⊆BQP∩SZK PH=AM
Sekarang, jika Anda benar-benar menginginkan bentuk kanonik (perwakilan dari setiap kelas ekivalensi yang juga ada dalam kelas ekivalensi), kami menunjukkan hal-hal yang lebih buruk terjadi. Yaitu, jika setiap relasi ekivalensi yang dapat ditentukan dalam waktu polinomial memiliki bentuk kanonik waktu poli, maka:
Ada juga nubuat yang berjalan dua arah untuk sebagian besar pernyataan ini tentang hubungan kesetaraan, karena kami dan untuk Blass dan Gurevich [2].
Jika alih-alih perwakilan "apa pun", Anda meminta elemen paling leksikografis dalam kelas ekivalensi, menemukan elemen terkecil secara leksikografis dalam kelas ekivalensi dapat (pada kenyataannya, -hard) - bahkan jika hubungan memiliki bentuk kanonik waktu polinomial [2].NP PNP
[1] Lance Fortnow dan Joshua A. Grochow. Kelas kompleksitas masalah kesetaraan ditinjau kembali . Memberitahu. dan Komputasi. 209: 4 (2011), 748-763. Juga tersedia sebagai arXiv: 0907.4775v2 .
[2] Andreas Blass dan Yuri Gurevich. Hubungan ekivalensi, invarian, dan bentuk normal . SIAM J. Comput. 13: 4 (1984), 24-42.
sumber
Berikut adalah upaya jawaban lain, di mana kami melonggarkan persyaratan pada "perwakilan"; sebenarnya tidak harus menjadi anggota kelas ekivalensi, tetapi hanya fungsi yang mengidentifikasi kelas ekivalensi.
Misalkan Anda memiliki grup tempat Anda dapat melakukan pengujian keanggotaan subkelompok. Yaitu, mengingat , Anda dapat memeriksa apakah ada dalam subkelompok yang dihasilkan oleh . h g 1 , … , g kg1,g2,…,gk h g1,…,gk
Ambil kelas kesetaraan Anda untuk menjadi set elemen yang menghasilkan subkelompok yang sama. Sangat mudah untuk memeriksa apakah dua set menghasilkan subkelompok yang sama. Namun, sama sekali tidak jelas bagaimana Anda bisa menemukan pengidentifikasi unik untuk setiap subkelompok. Saya menduga ini benar-benar adalah contoh jika Anda menganggap kelompok kotak hitam dengan pengujian keanggotaan subkelompok. Namun, saya tidak tahu apakah ada kelompok non-oracle di mana masalah ini tampaknya sulit.g1,g2,…,gk
sumber
Inilah contoh yang dibuat-buat. Objek adalah pasangan mana adalah rumus SAT dan adalah tugas yang diajukan ke variabel. Katakan jika dan salah satu (a) dan keduanya adalah tugas yang memuaskan, atau (b) dan keduanya tidak memuaskan tugas. Ini refleksif, simetris, dan transitif. Setiap tidak memuaskan memiliki satu kelas ekivalensi yang terdiri dari semua . Setiap memuaskan memiliki kelas semua mana(H,X) H X (H,X)∼(H′,X′) H=H′ X X′ X X′ H (H,X) H (H,X) X adalah tugas yang memuaskan, dan kelas lain dengan yang tidak memuaskan.
Memeriksa apakah mudah karena kita hanya memeriksa apakah , kemudian jika memenuhi , maka jika memenuhi . Tetapi untuk menghitung anggota kanonik dari kelas yang diberikan dengan puas dengan(H,X)∼(H′,X′) H=H′ X H X′ H (H,X) H X tampaknya terlalu sulit (saya tidak yakin cara terbaik untuk membuktikan kekerasan). Kami dapat dengan mudah menanam solusi tambahan untuk instance SAT, jadi mengetahui satu solusi umumnya tidak akan membantu kami menemukan solusi lain, apalagi memilih yang kanonik. (Sunting: Yang saya maksudkan adalah bahwa saya tidak mengharapkan algoritma yang efisien untuk menemukan solusi tambahan yang diberikan solusi pertama. Karena kita bisa menggunakannya untuk memecahkan masalah SAT dengan terlebih dahulu "menanam" solusi tambahan ke dalam masalah, kemudian memasukkannya ke algoritme. Lihat komentar.)
sumber
Ini adalah pertanyaan terbuka, setidaknya untuk grafik. Saya percaya bahwa kemajuan terbaru adalah
yang memberikan algoritma waktu linear (yang diharapkan) untuk grafik kanonik yang benar dengan probabilitas1−12O(n)
Anda dapat membaca lebih lanjut di Wikipedia . Perhatikan bahwa versi algoritma Babai yang diderandomisasi berarti bahwa tidak ada contoh seperti itu untuk grafik.
sumber
Menguji apakah dua sirkuit dengan ukuran adalah setara.≤N
Untuk menentukan apakah Anda hanya perlu mengevaluasi pada poin input. Untuk menentukan perwakilan kelas, seseorang mungkin harus menguji semua sirkuit yang mungkin . Untuk cukup besar, ini secara eksponensial lebih sulit daripada menguji kesetaraan rangkaian.2 n 2 Ω ( N log N ) NC1∼C2 2n 2Ω(NlogN) N
sumber
Contoh terkenal dari teori himpunan deskriptif:
Mari kita mendefinisikan hubungan ekivalensi pada oleh∼ R r∼s⟺r−s∈Q.
Ini adalah hubungan kesetaraan yang agak "mudah", khususnya yang bisa diukur.
Tetapi menemukan perwakilan sama dengan menemukan set Vitali , yang membutuhkan Aksioma Pilihan dan tidak dapat diukur.
sumber
Biarkan objek di alam semesta Anda menjadi tiga kali lipat ( mana menjadi masalah Kepuasan, pada variabel , adalah 0 atau 1, dan adalah bitstring dengan panjang , di mana . Yaitu, adalah tugas untuk yang memenuhi jika adalah 1 atau tidak memenuhi jika adalah 0.Φ,b,i) Φ x0,…,xk−1 b b Φ bi k Φ(i)=b i x0,…,xk Φ b Φ b
Dua objek setara jika mereka memiliki sama . Mudah diperiksa.Φ
Biarkan objek representatif menjadi yang terbesar secara leksikografis di antara semua yang ada di kelas kesetaraan.
Perwakilannya adalah NP-complete untuk menemukan: ia akan menyelesaikan SAT, karena jika leksikografis terhebat memiliki , maka tidak memuaskan; jika memiliki , itu memuaskan.b=0 Φ b=1
Tampaknya sebagian besar masalah NP-lengkap dapat diajukan dengan cara ini; itu masalah menempatkan sertifikat keanggotaan ke dalam pengkodean elemen.
Saya pikir mungkin ini adalah masalah pekerjaan rumah, itulah mengapa saya tidak memposting solusinya sebelumnya. Aku seharusnya melakukannya; Saya bisa menggunakan titik-titik yang didapat @ david-eppstien. Ya Tuhan tahu, dia tidak membutuhkannya.
sumber
Saya kira Anda dapat dengan mudah mencapai itu untuk hampir semua masalah dari jenis yang Anda jelaskan.
Contoh sepele: Misalkan objek adalah string, dan apa pun setara dengan hanya dirinya sendiri. Menentukan apakah dua elemen itu setara selalu mudah (itu hanya persamaan). Namun, Anda dapat mendefinisikan sebagai fungsi keras injeksi favorit Anda.f ( )x f()
sumber