Contoh di mana kesetaraan mudah tetapi menemukan perwakilan kelas sulit

25

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 ( *))

Martin Pál
sumber
Pertanyaannya mungkin terlalu umum, karena memungkinkan banyak konstruksi "aneh": Ambil masalah NP-lengkap, dan biarkan setiap contoh membentuk kelas ekivalennya sendiri. Untuk instance-NO s , atur f(s)=0 . Untuk YES-contoh s , mendefinisikan s sebagai sertifikat leksikografis terkecil.
Gamow
2
@Gamow Dalam contoh Anda, Anda bisa membiarkan f(s)=s . Saya pikir OP ingin contoh di mana tidak ada mudah f.
Bjørn Kjos-Hanssen
4
Kata kunci untuk pencarian adalah "kanonisasi" atau "pelabelan kanonik".
Emil Jeřábek mendukung Monica
Bagi mereka yang bingung seperti saya, ternyata pertanyaan ini diposting kembali pada tahun 2018, dan ini kemudian diperhatikan dan jawabannya bergabung kembali ke sini.
usul

Jawaban:

25

xyx=yxyx=pqy=prpqrp<min(q,r)

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 ) xff(x)x

David Eppstein
sumber
Re: "tidak jelas bagaimana cara menghitung fungsi representatif f ": Mungkin saya salah paham dengan Anda, tetapi: jika x adalah produk dari dua bilangan prima yang berbeda, maka: misalkan p menjadi yang lebih rendah dari bilangan prima ini; biarkan s menjadi yang paling utama setelah p ; pilih f ( x ) = ps . Jika x adalah tidak produk dari dua bilangan prima yang berbeda, kemudian pilih f ( x ) = x . (Semua yang merupakan cara bundaran mengatakan: pilih f ( x ) = elemen terkecil dari kelas ekivalensi x .) Tidak?
ruakh
2
@ruakh "Biarkan menjadi yang lebih rendah dari bilangan prima ini" menganggap Anda dapat faktor (untuk menemukan ), tetapi ini umumnya dianggap sulit. x ppxp
Aaron Roth
@ Harunoth: Ah, begitu. Dengan "tidak jelas cara menghitung fungsi representatif ", maka ia pasti memiliki arti seperti "tidak jelas cara mudah menghitung fungsi representatif ", lalu. Yang cocok dengan pertanyaan OP. Masuk akal, terima kasih. :-)fff
ruakh
Ya, maaf, itulah yang saya maksudkan.
David Eppstein
21

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 2y 2 nx,ynx2y2n

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 PPNPRNPP=NP

Contoh seperti itu juga menyiratkan (dan karenanya, dalam particluar, ).UPBQPPUP

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 .

Joshua Grochow
sumber
15

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).xyf(x)=f(y)f(x)=hhxyf(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.

Peter Shor
sumber
7

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)xx

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 .PFPUPBQPNPBQPSZKPH=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:

  • Bilangan bulat dapat diperhitungkan dalam waktu poli probabilistik
  • Fungsi hash bebas tabrakan yang dapat dievaluasi dalam tidak ada.FP
  • NP=UP=RP (karenanya )PH=BPP

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].NPPNP

[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.

Joshua Grochow
sumber
Ternyata versi pertanyaan ini yang diposting pada tahun 2018 adalah posting ulang oleh pengguna spam dari sebuah pertanyaan dari 2012. Mungkin menggabungkan kedua jawaban Anda? Mereka berdua menyebutkan UP dan BQP tetapi dengan cara yang dinegasikan ... Anda akan kehilangan beberapa perwakilan tapi saya akan mengurangi sebagian dengan mengangkat jawaban lama Anda :)
Bjørn Kjos-Hanssen
5

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,,gkhg1,,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

Peter Shor
sumber
4

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)HX(H,X)(H,X)H=HXXXXH(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=HXHXH(H,X)HXtampaknya 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.)

usul
sumber
Dengan "menanam", maksud Anda sesuatu seperti: diberi contoh SAT di CNF, mari tambahkan variabel tidak terjadi di , dan biarkan ? H=iφipHK=i(φip)
Bjørn Kjos-Hanssen
@ BjørnKjos-Hanssen, yeah, sesuatu seperti itu. Idealnya kita akan membuat tepat satu solusi tambahan. Jadi saya pikir karya ini (tidak dalam CNF meskipun): diberikan generik SAT rumus , biarkan di mana adalah variabel aslinya. Jadi hanya untuk mengklarifikasi, jika kita memiliki algoritma untuk memeriksa / menemukan solusi kedua untuk instance SAT, maka dengan apa pun kita akan membangun dan memasukkannya ke algoritma tersebut bersama dengan penugasan all-true dan itu akan memecahkan contoh asli . Jika saya tidak melewatkan sesuatu. K = ( H ¬ p ) ( p x 1x n ) { x i } H KHK=(H¬p)(px1xn){xi}HK
usul
Sementara kata "representatif" mungkin menyiratkan bahwa kode domain harus menjadi domainnya, mengangkat pembatasan ini menjadikan ini bukan contoh. f
jix
1
(1) Menemukan tugas yang memuaskan kedua masih NP-keras. (2) Menemukan anggota kanonik dari kelas yang diberikan (H, X) dalam waktu polinomial setara dengan , yang meruntuhkan PH (Hemaspaandra-Naik-Ogihara-Selman). Namun, perhatikan bahwa pertanyaannya tidak benar-benar meminta anggota kanonik kelas, karena tidak memerlukan x untuk setara dengan f (x), itu benar-benar hanya meminta invarian lengkap. NPMVcNPSV
Joshua Grochow
4

Ini adalah pertanyaan terbuka, setidaknya untuk grafik. Saya percaya bahwa kemajuan terbaru adalah

Babai dan Kucera, "label label grafik dalam waktu rata-rata linier," FOCS, 1979

yang memberikan algoritma waktu linear (yang diharapkan) untuk grafik kanonik yang benar dengan probabilitas112O(n)

Anda dapat membaca lebih lanjut di Wikipedia . Perhatikan bahwa versi algoritma Babai yang diderandomisasi berarti bahwa tidak ada contoh seperti itu untuk grafik.

Stella Biderman
sumber
2
Juga menarik: Untuk kasus terburuk, bukan bentuk kanonik kasus rata-rata, makalah baru-baru ini oleh Schweitzer-Wiebking ( arxiv.org/abs/1806.07466 ) memberikan teknik yang memberikan bentuk kanonik yang baik untuk banyak hubungan ekivalensi terkait (kode ekivalensi, permutasi konjugasi kelompok, hypergraph iso), dan di bagian akhir mereka mereka menyarankan bahwa teknik mereka mungkin berlaku untuk hasil Babai juga, memberikan bentuk kanonik kuasi-poli-waktu untuk GI.
Joshua Grochow
@ JoshuaGrochow Saya tidak mendengar tentang ini, tapi itu sangat menarik. Menyimpan untuk dibaca nanti.
Stella Biderman
2

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 ) NC1C22n2Ω(NlogN)N

David Harris
sumber
Berikut adalah fungsi yang memetakan setiap sirkuit ke objek yang representatif (bukan sirkuit) secepat pengujian kesetaraan: memetakan setiap sirkuit ke vektor output untuk setiap input yang mungkin. Mungkin tidak sulit untuk mengubahnya menjadi sirkuit gaya palang eksplisit. 2 nf2n
David Eppstein
Saya bersikeras bahwa sirkuit telah dibatasi ukuran untuk mencegah pemetaan mudah dari output ke sirkuit. Namun, saya berasumsi bahwa fungsi perlu memetakan ke perwakilan kelas sebagai lawan dari string arbitrer. f2nf
David Harris
1

Contoh terkenal dari teori himpunan deskriptif:

Mari kita mendefinisikan hubungan ekivalensi pada oleh R

rsrsQ.

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.

Bjørn Kjos-Hanssen
sumber
0

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,,xk1bb Φ bikΦ(i)=bix0,,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.

Gara Pruesse
sumber
1
Ah tapi dalam kasus ini ada pilihan yang mudah untuk mewakili: anggap saja menjadi apa saja dan menjadi . b Φ ( i )ibΦ(i)
Bjørn Kjos-Hanssen
-3

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 ( )xf()

KIA
sumber
3
Tetapi dalam kasus yang Anda jelaskan, ada yang berbeda yang mudah dihitung: fungsi identitas. f
David Eppstein
Dari pertanyaan, tidak jelas apakah kekerasan diperlukan dari semua , daripada beberapa . fff
MCH
3
@MCH Saya pikir ini sangat jelas, karena kalau tidak, tidak akan ada keraguan sama sekali dan pertanyaannya akan konyol.
Random832