Saya dapat sebagian menjawab pertanyaan Anda: menghitung optima lokal dari masalah pencarian lengkap-PLS memang bisa menjadi # P-hard.
Pertama, seperti yang ditunjukkan Yoshio, ada masalah pencarian dalam PLS yang masalah penghitungannya terkait # P-selesai. (Namun, kami tidak tahu apakah P 1 selesai-PLS.) Biarkan P 2 menjadi masalah lengkap-PLS. Kemudian tentukan P ′ yang, pada input ( x , i ) untuk i ∈ { 1 , 2 } , meminta optimum lokal untuk input x sehubungan dengan P i . Masalah ini mewarisi keanggotaan PLS dari P 1 , P 2P1P1P2P′( x , i )i ∈ { 1 , 2 }xPsayaP1, P2, mewarisi kelengkapan PLS dari , dan untuk masalah penghitungan mewarisi # P-kelengkapan dari P 1 .P2P1
Demikian pula, seseorang dapat membangun masalah (lengkap) PLS-lengkap yang NP-lengkap untuk memutuskan apakah ada lebih dari satu lokal optimal. Seperti pada argumen sebelumnya, satu "menjepit bersama-sama" masalah PLS-lengkap seperti sebelumnya, dengan masalah PLS P 2 yang, pada input rumus Boolean ψ , memiliki lebih dari satu optimum lokal terkait jika ψ memuaskan.P1P2ψψ
Konstruksi semacam ini agak tidak memuaskan karena kami mencoba membangun masalah pencarian yang memiliki dua sifat kekerasan, tetapi domain Q "terbagi" menjadi dua bagian, yang masing-masing mungkin hanya memiliki satu dari dua properti. Di bawah ini saya akan menunjukkan bagaimana, mengingat masalah pencarian P 1 dalam PLS yang terkait masalah penghitungannya adalah # P-complete, dan diberi masalah PLS-complete P 2 , orang dapat mendefinisikan masalah PLS Q yang sama sulitnya dengan keduanya menghitung untuk P 1 dan cari P 2 dengan cara "instance-by-instance".QQP1P2QP1P2
Yaitu, kami akan menunjukkan sedemikian rupa sehingga menyelesaikan masalah penghitungan untuk P 1 pada input x secara efisien mengurangi untuk memecahkan masalah penghitungan untuk Q pada input x , dan masalah pencarian untuk P 2 pada input x mengurangi ke masalah pencarian untuk Q pada input x .QP1xQxP2xQx
Untuk kesederhanaan presentasi, kita asumsikan sedemikian rupa sehingga pada setiap input x panjang n , ruang solusi-kandidat yang terkait dengan x melebihi bitstring y dengan panjang n c untuk beberapa c (tetapi dengan struktur lingkungan yang berbeda untuk P 1 , P 2 ). Biarkan F i ( x , y ) menjadi fungsi kebugaran yang terkait dengan P i .P1, P2xnxynccP1, P2Fsaya( x , y)Psaya
Pada input , ruang pencarian untuk Q melebihi tupel ( y 1 , y 2 , z , b ) di mana setiap y i berada di { 0 , 1 } n c , z ∈ { 0 , 1 } n c + 1 , dan b ∈ { 0 , 1 }x ∈ { 0 , 1 }nQ( y1, y2, z, b )ysaya{ 0 , 1 }ncz∈ { 0 , 1 }nc+ 1b ∈ { 0 , 1 }. Sebagai fungsi kebugaran untuk Q , kami mendefinisikanF( x , ( y1, y2, z, b ) )Q
jika b = 1 , F(x,(y1,y2,z,b)):=F1(x,y1)+F2(x,y2)b=1
jika b = 0 .F(x,(y1,y2,z,b)):=||y1||+||z||+F2(x,y2)b=0
(Itu berat Hamming di atas.)
Untuk struktur lingkungan , kami menghubungkan setiap tupel ( x , ( y 1 , y 2 , z , 1 ) ) (dengan b = 1 ) ke semua tupel ( x , ( ( y ′ ) 1 , ( y ′ ) 2 , z ′ , 1 ) ) sedemikian rupaQ(x,(y1,y2,z,1))b=1(x,((y′)1,(y′)2,z′,1))
(A) terhubung ke ( x , ( y ′ ) i ) menurut P i untuk i = 1 , 2 , DAN(x,yi)(x,(y′)i)Psayai = 1 , 2
(B) berbeda paling banyak dalam 1 koordinat.z,z′
Untuk tupel dengan , kami menghubungkan ( x , ( y 1 , y 2 , z , 0 ) ) ke semua tupel ( x , ( ( y ′ ) 1 , ( y ′ ) 1 , ( y ′ ) 2 , z ′ , 0 ) ) seperti bahwab = 0( x , (y1,y2,z, 0 ) )( x , ( (y′)1, (y′)2,z′, 0 ) )
(A ') terhubung ke ( x , ( y ′ ) 2 ) menurut P 2 , DAN( x ,y2)( x , (y′)2)P2
(B ') berbeda paling banyak dalam 1 koordinat, seperti halnya y 1 , ( y ′ ) 1 .z, z′y1, ( y′)1
(Catatan, tupel dengan terputus dari yang dengan b = 1. )b = 0b = 1
Itulah definisi . Lingkungannya berukuran polinom seperti yang diperlukan, jadi Q ada di PLS. QQ
Klaim: Optima lokal untuk panjang- input x menurut Q adalah persis dua set terputus-putus berikut:nxQ
(1) semua tupel , di mana ( x , y i ) adalah optimum lokal P i untuk masing-masing i = 1 , 2 (dan z adalah arbitrer, dan b = 1 ); dan,(x , ( y1, y2,z, 1 ) )( x, ysaya)Psayai = 1 , 2zb = 1
(2) semua tupel , di mana ( x , y 2 ) adalah optimum lokal dari P 2 , dan di mana z , y 1 keduanya semua-1, dan b = 0 .( x , 1nc,y2, 1n, 0 ) )( x ,y2)P2z, y1b = 0
Jika Anda setuju, maka PLS-kekerasan segera, karena setiap optimum lokal ( x , ( y 1 , y 2 , z , b ) ) dari Q untuk input x memberikan optimum lokal ( x , y 2 ) dari P 2 (untuk input x yang sama ), dan P 2 adalah PLS-hard.Q( x , ( y1, y2, z, b ) )Qx( x , y2)P2xP2
Juga, dari Klaim kami bahwa jumlah dari optima lokal untuk x di bawah Q sama dengan ( 2 n c + 1 N 1 ( x ) + 1 ) ⋅ N 2 ( x ) , di mana N i ( x ) adalah jumlah optima lokal untuk x di bawah P i . Sekarang N 2 ( x ) berada dalam kisaran [ 1N( x )xQ(2nc+1N1(x)+1)⋅N2(x)Ni(x)xPiN2(x) , jadi sudah[1,2nc]
mod 2 n c + 1 = ( 2 n c + 1 N 1 ( x ) + 1 ) ⋅ N 2 ( x ) mod 2 n c + 1 = N ( x ) mod 2 n c + 1 .N2(x)=N2(x)2nc+1=(2nc+1N1(x)+1)⋅N2(x)2nc+1=N(x)2nc+1
Jadi kita bisa mendapatkan diberikan N ( x ) . Maka kita juga bisa mendapatkan N 1 ( x ) , dengan aljabar sederhana:
N 1 ( x ) = ( N ( x )N2(x)N(x)N1(x). KarenaN1(x)adalah # P-complete untuk menghitung, demikian jugaN(x). Jadi ini # P-selesai untuk menghitung optima lokal untukQ(dan menghitung untukP1mengurangi untuk menghitung untukQpada contoh yang sama). N1(x)=(N(x)N2(x)−1)/2nc+1N1(x)N(x)QP1Q
Saya tidak tahu bagaimana memberikan pengurangan untuk menggabungkan kekerasan PLS dengan kekerasan NP untuk memutuskan keunikan optima lokal dengan cara "contoh-oleh-contoh".
Mengenai apakah setiap masalah pencarian PLS-lengkap menghasilkan masalah penghitungan # P-complete, saya juga tidak tahu. Ini tampaknya terkait dengan pertanyaan apakah, untuk setiap NP-lengkap masalah keputusan L dan setiap polytime verifier untuk L , yang terkait masalah saksi-penghitungan adalah # P-lengkap. # Kelengkapan P berlaku dalam semua kasus tertentu yang orang pertimbangkan, dan dalam kondisi yang cukup ringan, tetapi terbuka secara umum. Lihat diskusi ini .V(x,y)L
Untuk masalah khusus, yang lebih alami, dikenal sebagai penyelesaian-PLS, orang mungkin dapat membangun # -pelengkapan untuk menghitung optima lokal dengan memberikan pengurangan-PLS dari say Matching to Q yang memiliki beberapa sifat khusus yang pantas untuk dihitung. Mungkin teknik yang ada sudah cukup; Saya belum mencoba memastikan.QQ
Pertimbangkan masalah pencocokan maksimum dalam grafik bipartit. Keluarga solusi yang layak terdiri dari semua pencocokan, dan pencarian lokal dilakukan melalui pencarian jalur tambahan. Masalahnya milik PLS karena jalur augmentasi dapat ditemukan dalam waktu polinomial jika pencocokan saat ini tidak maksimal, dan maksimalitas dapat diperiksa dalam waktu polinomial. Setiap lokal optimal adalah pencocokan maksimum (yaitu global optimum). Namun, # P-sulit untuk menghitung jumlah pencocokan maksimum dalam grafik bipartit.
Karena optimum lokal dapat ditemukan dalam waktu polinomial, masalahnya tidak mungkin lengkap dengan PLS. Jadi, saya khawatir ini bukan jawaban yang dimaksudkan (pertanyaan Anda membatasi masalah lengkap PLS). Namun, saya harus menunjukkan bahwa menghitung jumlah optima lokal bisa sulit walaupun satu lokal optimal dapat ditemukan secara efisien.
sumber