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ś?


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


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.