Czy wyroki są stowarzyszone?

11

To pytanie może mieć oczywistą odpowiedź ... ale oto i tak pytanie. Intuicyjnie jest to następujące prawdopodobne stwierdzenie - „maszyna z podprogramem A, który z kolei ma podprogram B, jest tym samym, co maszyna z podprogramem A, który ma dostęp do podprogramu B”.

Aby formalnie zdefiniować ten problem, użyję niekonwencjonalnej notacji. Kiedy mówię AB , daję A wyrocznię za problem BComplete . np. NPNP=NPSAT=Σ2 . Za pomocą tej „nowej” notacji można zdefiniować ABC i tak dalej. Moje pytanie brzmi: jest

  • czy jest to prawidłowy sposób myślenia o wyroczniach?
  • to (AB)C=A(BC)

Na przykład (NPNP)NP=Σ2NP=NPΣ2=NP(NPNP)

Nie mogę wymyślić żadnych oczywistych kontrprzykładów tej zasady. Ktoś?

Gabgoh
źródło
Czy widziałeś moje pytanie: cstheory.stackexchange.com/q/972/873 ?
MS Dousti
1
jest to nieco bardziej ogólne pytanie, ale pytanie Sadeqa jest dość istotne, a zwłaszcza komentarze dotyczące źle sformułowanej A ^ B ^ C, jeśli A ^ B nie jest modelem obliczeniowym
Suresh Venkat
nie, ale dokładnie to uderzyłem głową w ścianę zeszłej nocy, co uzasadniało to pytanie!
gabgoh
Zobacz także to pytanie .
Kaveh

Odpowiedzi:

5

Jak powiedział Venkat w komentarzach, wydaje się, że trudno jest zrozumieć twoją definicję wyroczni, która nie jest zdefiniowana jako pewna charakterystyka maszyny.

Niech będzie zbiorem TM w A z wyrocznią, która jest maszyną w ( B z wyrocznią w maszynie w C ). Jest oczywiste, że maszyna w A mogą dzwonić C : to właśnie nazywa się maszynę w B i prosi go, aby nieść wiadomość bezpośrednio do C .A(BC)ABCACBC

Myślę, że byłaby maszyną w A, która może wywoływać wyrocznię w C lub wyrocznią, która jest (maszyna w B, która może wywoływać maszynę w C ), więc jest to dokładnie ta sama definicja.(AB)CACBC

Wreszcie, możesz chcieć , który z pewnością różni się od pozostałych dwóch (wystarczy wziąć B = C = N P i A = P , następnie A B , C = N P c o N P podczas gdy A ( B C ) = Σ P 2Π p 2 .AB,CB=C=NPA=PAB,C=NPcoNPA(BC)=Σ2PΠ2p

Arthur MILCHIOR
źródło
4
Uważaj: P ^ NP obejmuje NP∪coNP, ale nie jest znany ani nie jest uważany za równy NP∪coNP. Podobnie, nie wiadomo, że P ^ (NP ^ NP) jest równe Σ2P∪Π2P.
Tsuyoshi Ito
1
@Tsuyoshi, dziękuję za uwagę, nie wiem, dlaczego tak myślałem. W rzeczywistości, jeśli jest oczywiste, że P N P . Niech i B są NPcomplte i coNPcomplete problemy, to problem, który ma wejście ( x , y ) , a odpowiedzi prawdziwe, jeśli x i Y B jest P N P , ale nie w N P c o N P . NPcoNPPNPAB(x,y)xAyBPNPNPcoNP
Arthur MILCHIOR
3

Chciałbym napisać następujący komentarz, ale było to zbyt długie, aby zmieściło się w nim.

Najpierw opiszmy znaczenie „algorytmów w klasie z wyrocznią dla języka A.” (Potrzeba tego została wskazana przez Tsuyoshi Ito). Będziemy korzystać z tej samej konwencji, z której korzystają Ladner i Lynch . Konwencja jest dobrze opisana przez Bennett & Gill :C

można zdefiniować na różne sposoby, w zależności od tego, jak obsługiwana jest taśma zapytania. Przestrzegamy konwencji Ladnera i Lyncha [LL]: Taśma zapytania nie jest obciążana ograniczeniem miejsca, ale aby nie była używana jako taśma robocza, taśma zapytania jest jednokierunkowa i tylko do zapisu i jest usuwana automatycznie po każdym zapytaniu. (Simon [Si] traktuje taśmę zapytania jako jedną z taśm roboczych, dwukierunkową taśmę do odczytu / zapisu obciążoną ograniczeniem przestrzeni. Definicja Ladner-Lynch jest mniej restrykcyjna i być może bardziej naturalna, ponieważ dla losowej wyroczniA L O G S P A C E ALOGSPACEAALOGSPACEA trzyma z prawdopodobieństwem 1 dla [LL], ale nie dla [Si])

[LL] RE LADNER I NA LYNCH, Relatywizacja pytań o obliczalność przestrzeni logów , Matematyka. Systems Theory, 10 (1976), s. 19–32.

[Si] J. SIMON, On Some Central Problems in Computational Complexity , Tech. Rep TR 75-224, Wydział Informatyki, Cornell University, Ithaca, NY, 1975.

Standardowa definicja klas złożoności maszyn Oracle jest następująca: Niech B i C będą klasami złożoności . Następnie jest uzasadniony klasa złożoności, określone jako X = L C B L . Tutaj B L reprezentuje klasę złożoności problemów decyzyjnych rozwiązanych przez algorytm w klasie B z wyrocznią dla języka L.X=BCX=LCBLBL

Ponieważ X jest uzasadniony klasa złożoności, dla każdej klasy A złożoność, możemy mówić o klasami złożoności i X A = ( B C ) A .AX=A(BC)XA=(BC)A

  • odnosi się do klasy złożoności problemów decyzyjnych rozwiązany przez algorytm w klasie A z Oracle dla dowolnego językaAX . Innymi słowy, A X = L { L C B L } A L .LX=LCBLAX=L{LCBL}AL

  • odnosi się do klasy złożoności problemów decyzyjnych możliwych do rozwiązania przez algorytm z klasy X = L C B L z wyrocznią dla dowolnego języka L AXAX=LCBLLA . Innymi słowy, .XA=LAXL=LA(LCBL)L

Zastrzeżenie: .(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.

Dlatego można napisać .XA=LA(LCBL)L=LC,LA(BL)L

Przykład

Niech . Wiemy, żeco,NPX. Dając dostęp zarówno boki ORACLENP, dostaje:CON P N P X N P =( P N P ) N P .X=PNPcoNPXNPcoNPNPXNP=(PNP)NP

Epilog

Owocna dyskusja z Tsuyoshi Ito ujawniła (dla mnie), że podwójna relatywizacja klasy złożoności nie jest łatwa. W rzeczywistości nawet zdefiniowanie jednego wydaje się problematyczne. Powinienem zdecydowanie przestudiować więcej, aby zobaczyć, czy kiedykolwiek zostanie podana zadowalająca definicja. Tymczasem doceniam każdy komentarz, który można wykorzystać do rozwiązania tego problemu.

MS Dousti
źródło
4
Jak skomentowałem inne pytanie , „algorytm w klasie B z wyrocznią dla języka L” nie ma ogólnie ogólnie przyjętej definicji.
Tsuyoshi Ito
@Tsuyoshi: Zredagowałem odpowiedź, aby przedstawić, której definicji używam. Czy usuwa to źle sformowaną?
MS Dousti
Nie. Dodana część określa tylko, co oznacza LOGSPACE ^ A, a nie to, co B ^ A oznacza dla czegoś takiego jak B = NP ^ NP.
Tsuyoshi Ito
@Tsuyoshi: Dzięki. Właśnie dodałem przykład, aby wyjaśnić, co mam na myśli. Chcę takiej definicji, że jeśli , to A CX C (bardzo naturalne wymaganie). Czy możesz mi pomóc dowiedzieć się, jak należy to zdefiniować, gdy X jest klasą wyroczni, np. NP ^ NP? AXACXC
MS Dousti
4
Niestety twój „naturalny wymóg” nie jest tak naturalny. Chociaż PSPACE⊆IP i istnieje naturalna i szeroko akceptowana definicja IP ^ A dla dowolnego języka A ​​(weryfikator otrzymuje wyrocznię dostęp do A), wiadomo, że PSPACE ^ A⊈IP ^ A z prawdopodobieństwem 1 dla losowości wyrocznia A; patrz Chang, Chor, Goldreich, Hartmanis, Håstad, Ranjan i Rohatgi 1994 . Jak powiedziałem, nie ma powszechnie przyjętej definicji C ^ A dla arbitralnej klasy złożoności C, o ile mi wiadomo. (więcej)
Tsuyoshi Ito