Apakah Oracles Asosiatif?


11

Pertanyaan ini mungkin memiliki jawaban yang jelas ... tetapi inilah pertanyaannya. Secara intuitif, ini adalah pernyataan masuk akal berikut - "mesin dengan subrutin A yang pada gilirannya memiliki subrutin B sama dengan mesin dengan subrutin A yang memiliki akses ke subrutin B".

Untuk mendefinisikan masalah ini secara formal, saya akan menggunakan beberapa notasi yang tidak konvensional. Ketika saya mengatakan AB , saya memberikan A oracle untuk masalah BComplete . misalnya NPNP=NPSAT=Σ2 . Dengan notasi "baru" ini, dimungkinkan untuk mendefinisikan ABC , dan seterusnya. Pertanyaan saya adalah, apakah

  • apakah ini cara berpikir yang valid tentang nubuat?
  • adalah (AB)C=A(BC)

Misalnya, (NPNP)NP=Σ2NP=NPΣ2=NP(NPNP)

Saya tidak bisa memikirkan contoh tandingan yang jelas untuk aturan ini. Siapa saja?


Pernahkah Anda melihat pertanyaan saya: cstheory.stackexchange.com/q/972/873 ?
MS Dousti

1
ini adalah pertanyaan yang sedikit lebih umum, tetapi pertanyaan Sadeq cukup relevan, dan terutama komentar tentang A ^ B ^ C yang buruk bentuknya jika A ^ B bukan model komputasi
Suresh Venkat

tidak, tapi itu adalah hal yang tepat aku memukul kepalaku di dinding tadi malam yang memotivasi pertanyaan ini!
gabgoh

Lihat juga pertanyaan ini .
Kaveh

Jawaban:


5

Seperti yang dikatakan Venkat dalam komentar, tampaknya sulit untuk memahami definisi Anda untuk oracle yang tidak didefinisikan sebagai beberapa karakterisasi mesin.

Misalkan adalah himpunan TM dalam A dengan oracle yang merupakan mesin dalam ( B dengan oracle dalam mesin dalam C ). Jelas bahwa mesin di A dapat memanggil C : ia hanya memanggil mesin di B dan memintanya untuk membawa pesan langsung ke CA(BC)ABCACBC .

Saya kira akan menjadi mesin di A yang dapat memanggil oracle di C atau oracle yang (mesin di B yang dapat memanggil mesin di C ) jadi definisi yang persis sama.(AB)CACBC

Akhirnya, Anda mungkin menginginkan , yang tentu saja berbeda dari dua lainnya (ambil saja B = C = N P dan A = P , lalu A B , C = N P c o N P sedangkan A ( B C ) = Σ P 2Π p 2 .AB,CB=C=NPA=PAB,C=NPcoNPA(BC)=Σ2PΠ2p


4
Hati-hati: P ^ NP termasuk NP∪coNP, tetapi tidak diketahui atau diyakini sama dengan NP∪coNP. Demikian pula, P ^ (NP ^ NP) tidak diketahui sama dengan Σ2P∪Π2P.
Tsuyoshi Ito

1
@ Tsuyoshi, terima kasih atas komentarnya, saya tidak tahu mengapa saya memikirkan ini. Bahkan jika jelas bahwa P N P . Biarkan A dan B menjadi NPcomplte dan coNPcomplete masalah, maka masalah yang mengambil input ( x , y ) dan menjawab benar jika x A dan y B adalah di P N P tapi tidak dalam N P c o N P . NPcoNPPNPAB(x,y)xAyBPNPNPcoNP
Arthur MILCHIOR

3

Saya akan menulis yang berikut sebagai komentar, tapi terlalu panjang untuk masuk.

Pertama mari kita gambarkan arti dari “algoritma di kelas dengan oracle untuk bahasa A.” (Kebutuhan untuk ini ditunjukkan oleh Tsuyoshi Ito). Kami akan menggunakan konvensi yang sama yang digunakan oleh Ladner dan Lynch . Konvensi ini dijelaskan dengan baik oleh Bennett & Gill :C

dapat didefinisikan dengan berbagai cara, tergantung pada bagaimana rekaman kueri ditangani. Kami mengikuti konvensi Ladner dan Lynch [LL]: Tape kueri tidak dibebankan terhadap batas ruang, tetapi untuk menjaga agar tidak digunakan sebagai pita kerja, pita kueri adalah satu arah dan hanya menulis, dan dihapus secara otomatis mengikuti setiap permintaan. (Simon [Si] memperlakukan pita kueri sebagai salah satu dari pita kerja, pita baca / tulis dua arah yang dibebankan terhadap batas ruang. Definisi Ladner-Lynch kurang ketat dan mungkin lebih alami, karena untuk ramalan acakA L O G S P A C E ALOGSPACEAALOGSPACEA berlaku dengan probabilitas 1 untuk [LL] tetapi tidak untuk [Si])

[LL] RE LADNER DAN NA LYNCH, Relatisasi pertanyaan tentang kompabilitas ruang log , Matematika. Teori Sistem, 10 (1976), hlm. 19-32.

[Si] J. SIMON, Pada Beberapa Masalah Sentral dalam Kompleksitas Komputasi , Tek. Rep TR 75-224, Departemen Ilmu Komputer, Universitas Cornell, Ithaca, NY, 1975.

Definisi standar kelas kompleksitas mesin oracle adalah sebagai berikut: Biarkan B dan C menjadi kelas kompleksitas . Kemudian, adalah kelas kompleksitas yang sah, yang didefinisikan sebagai X = L C B L . Di sini, B LX=BCX=LCBLBL mewakili kelas kompleksitas masalah keputusan dipecahkan oleh algoritma di kelas B dengan oracle untuk bahasa L.

Karena X adalah kelas kompleksitas yang sah, untuk setiap kelas kompleksitas A, kita dapat berbicara tentang kelas kompleksitas dan X A = ( B C ) AAX=A(BC)XA=(BC)A .

  • mengacu pada kelas kompleksitas masalah keputusan dipecahkan oleh algoritma di kelas A dengan oracle untuk setiap bahasa L 'X = L C B L . Dengan kata lain, A X = L { L C B L } A L .AXLX=LCBLAX=L{LCBL}AL

  • mengacu pada kelas kompleksitas masalah keputusan dipecahkan oleh algoritma di kelas X = L C B L dengan oracle untuk setiap bahasa L 'A . Dengan kata lain, X A = L A X L = L A ( L C B L ) L .XAX=LCBLLAXA=LAXL=LA(LCBL)L

Klaim: (BL1)L(BL2)L=(BL)L1L2 .

Side Note: Since it's 3:00 AM now, I'm too sleepy to check the validity of the above claim! I think it's valid & elementary to prove, yet it's nice to see the actual proof.

Oleh karena itu, seseorang dapat menulis XA=LA(LCBL)L=LC,LA(BL)L .

Contoh

X=PNPcoNPXNPcoNPNPXNP=(PNP)NP

Epilog

Sebuah diskusi yang bermanfaat dengan Tsuyoshi Ito mengungkapkan (bagi saya) bahwa tidak mudah untuk secara ganda merelatifkan kelas kompleksitas. Bahkan, mendefinisikan satu pun tampaknya bermasalah. Saya harus belajar lebih banyak untuk melihat apakah ada definisi yang memuaskan yang pernah diberikan. Sementara itu, saya menghargai setiap komentar yang dapat digunakan untuk menyelesaikan masalah ini.


4
Seperti yang saya komentari pada pertanyaan lain , “algoritma di kelas B dengan oracle untuk bahasa L” tidak memiliki definisi yang diterima secara umum pada umumnya.
Tsuyoshi Ito

@ Tsuyoshi: Saya mengedit jawaban untuk mewakili definisi yang saya gunakan. Apakah itu menghilangkan ketidakbenaran?
MS Dousti

Tidak. Bagian yang ditambahkan hanya mendefinisikan apa arti LOGSPACE ^ A, bukan arti B ^ A untuk sesuatu seperti B = NP ^ NP.
Tsuyoshi Ito

@Tsuyoshi: Thanks. I just added an example to clarify what I mean. I want a definition such that if AX, then ACXC (A very natural requirement). Can you help me figure out how this must be defined when X is an oracle class, like NP^NP?
M.S. Dousti

4
Unfortunately, your “natural requirement” is in fact not so natural. Although PSPACE⊆IP and there is a natural and widely accepted definition of IP^A for any language A (the verifier is given an oracle access to A), it is known that PSPACE^A⊈IP^A with probability 1 for a random oracle A; see Chang, Chor, Goldreich, Hartmanis, Håstad, Ranjan and Rohatgi 1994. As I said, there is not a widely accepted definition of C^A for an arbitrary complexity class C as far as I know. (more)
Tsuyoshi Ito
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.