Apakah bahasa lengkap NP ditutup di bawah operasi reguler?

8

Saya telah mencoba mencari online, tetapi saya tidak dapat menemukan pernyataan yang pasti. Masuk akal bagi saya bahwa Persatuan dan Persimpangan dua bahasa NPC akan menghasilkan bahasa yang tidak harus dalam NPC. Apakah benar juga bahwa bahasa NPC tidak ditutup di bawah operasi pelengkap, gabungan, dan bintang kleene?

pengguna16742
sumber
1
hanya sebuah catatan: operasi reguler adalah penyatuan, penggabungan dan bintang Kleene dan bukan persimpangan dan pelengkap
A.Schulz
Mengapa tidak persimpangan dan komplemen? Saya belum melihat definisi formal operasi reguler di mana pun.
Tushar
@Tushar Memang: union, concatenation dan bintang Kleene adalah operasi reguler, sedangkan union, persimpangan dan pelengkap adalah operasi Boolean. Lihat wikipedia .
Hendrik Jan
@Tushar: Karena operasi ini digunakan untuk membangun ekspresi reguler .
A.Schulz

Jawaban:

15

Untuk semua contoh dalam jawaban ini, saya menggunakan alfabet {0,1}. Perhatikan bahwa bahasa dan {0,1}pasti bukan NP- lengkap.

  • Kelas bahasa NP- lengkap tidak ditutup di bawah persimpangan. Untuk semua bahasa NP- lengkap Lbiarkan L0={0wwL} dan L1={1wwL}. L0 dan L1keduanya NP -complete tetapiL0L1=.

  • Kelas bahasa lengkap NP tidak ditutup di bawah serikat. Diberikan NP- bahasa yang lengkapL0 dan L1 dari bagian sebelumnya, biarkan L0=L0{1ww{0,1}}{ε} dan L1=L1{0ww{0,1}}{ε}. L0 dan L1keduanya NP -complete tetapiL0L1={0,1}.

  • Kelas bahasa NP- lengkap tidak ditutup di bawah gabungan. Pertimbangkan NP- bahasa lengkapL0 dan L1dari bagian sebelumnya. Karena kedua bahasa berisi ε, kita punya L0L1L0L1={0,1}.

  • Kelas bahasa lengkap NP tidak ditutup di bawah bintang Kleene. Untuk semua bahasa NP- lengkap L, L{0,1}adalah NP -Lengkap tapi(L{0,1})={0,1}.

  • Jika kelas masalah NP- lengkap ditutup di bawah komplementasi, maka NP  =  coNP . Apakah ini benar atau tidak adalah salah satu masalah terbuka utama dalam teori kompleksitas.

David Richerby
sumber
Tidak termasuk pelengkap, bukankah bahasa lengkap NP ditutup di bawah semua itu? Atau apakah itu untuk P?
Adjit
@Adjit Um. Saya membuktikan bahwa NP ditutup di bawah tidak satupun.
David Richerby
Untuk bahasa spesifik Anda. Tapi saya kira saya tidak melihat bagaimana {0, 1}*tidak menyelesaikan NP. Jika Anda mengambil, misalnya, persimpangan 2 bahasa lengkap-NP seharusnya tidak Anda dapatkan bahasa lengkap-NP, dengan demikian membuat NP ditutup di bawah persimpangan?
Ajukan
{0, 1} * dan bahasa kosongnya teratur, sehingga dapat ditentukan dalam waktu polinomial dan bukan NP-Complete. @ DavidVicherby menunjukkan bahwa ada dua bahasa NP-Complete yang persimpangannya bukan NP-Complete. Itu cukup untuk membuktikan NPC tidak ditutup di bawah persimpangan.
oddev
@weirdev Tidak! dan Σbukan NP -complete karena tidak ada bahasa lain yang menguranginya. Tidak cukup hanya mengatakan bahwa mereka menggunakan P - kita tidak tahu bahwa bahasa dalam P tidak bisa NP- lengkap.
David Richerby
-2

Lihatlah bukti-bukti untuk penyatuan, persimpangan, penggabungan, dan bintang kleene dari bahasa NP, di sini . Sepertinya argumen yang sama bisa dibuat untuk bahasa NP-Complete.

Untuk notasi, biarkan

  • Amenjadi peramal yang memutuskan masalah NP-Complete yang diketahui seperti 3-SAT. Lihat definisi turing yang dapat direduksi
  • L1 dan L2 adalah bahasa NP-Lengkap
  • M1 dan M2 adalah mesin Turing yang memutuskan L1 dan L2 menggunakan A.
  • L3 adalah L1L2
  • M3 adalah mesin turing yang memutuskan L3

Dalam kasus penyatuan dari 1 , kita dapat membuat mesin baruM3 itu yang memutuskan L3 dengan menyebut M1 dan M2sebagai sub rutinitas. Pada gilirannya, setiap kaliM1 atau M2 disebut, Ajuga disebut. BegituM3 memutuskan L3 menggunakan A. Dengan argumen dari 1 , waktu berjalanM3 dalam P dan sejak digunakan A sebagai subrutin, L3adalah NP-Lengkap. Dengan kata lain,L3 adalah NP-Complete untuk alasan yang sama itu L1 dan L2 NP-Lengkap.

Argumen yang sama dapat dibuat persimpangan dan sepertinya argumen serupa dapat dibuat untuk penggabungan, dan bintang kleene.

Dalam kasus pujian, sepertinya sulit untuk membuktikan karena alasan yang sama sulit untuk membuktikan pujian di NP.

joebloggs
sumber
Kelengkapan NP didefinisikan dalam hal reduksi banyak orang, bukan reduksi oracle. Lebih lanjut, bahasa lengkap-NP jelas tidak ditutup di bawah persatuan atau persimpangan. Jika ditutup dengan komplemen, maka NP = coNP, yang merupakan pertanyaan terbuka utama.
David Richerby
Dalam makalah Stephen Cook tahun 1971 [1] yang mendefinisikan NP-Completeness ia menggunakan mesin Query yang konsepnya sama dengan Oracle. Anda juga harus memeriksa tautan di atas untuk memastikan reducibilitas. [1] chell.co.uk/media/product/_master/1/files/…
joebloggs
@ joebloggs: Saya dapat melihat dari argumen Anda bahwa penyatuan dan perpotongan dua bahasa NP-Complete adalah NP. Namun, itu masih tidak membuktikan apakah itu NP-lengkap. Anda harus mengurangi persatuan atau persimpangan dari dua masalah keputusan NP-lengkap ke masalah keputusan NP-lengkap untuk menunjukkan itu.
Tushar
@ DavidVicherby: Anda mengatakan bahwa bahasa NP-lengkap pasti tidak ditutup di bawah persatuan atau persimpangan. Saya tertarik melihat buktinya. Apakah Anda punya referensi untuk bukti itu?
Tushar
2
@ joebloggs: Argumen Anda berfungsi untuk bahasa NP, tapi BUKAN untuk bahasa NP-complete. Untuk membuktikan bahwa bahasa L adalah lengkap-Np, Anda perlu memberikan pengurangan polinomial dari L ke bahasa NP-lengkap yang dikenal. Adapun jawaban David, P ditutup di bawah persimpangan, karena bahasa kosong dan bahasa universal ada di P (karena itu, mereka juga dalam NP), tetapi mereka tidak lengkap NP. Harapan itu membuatnya jelas!
Tushar