오라클은 협회입니까?


11

이 질문에는 분명한 대답이있을 수 있지만 여기에 질문이 있습니다. 직관적으로, 다음과 같은 그럴듯한 진술입니다. "서브 루틴 A를 갖는 서브 루틴 A를 가진 기계는 서브 루틴 B를 액세스 할 수있는 서브 루틴 A를 가진 기계와 같습니다".

이 문제를 공식적으로 정의하기 위해 기존의 표기법을 사용하겠습니다. 내가 말할 때 , 내가 포기하고 A의 신탁 문제. 예 . 이 "새"표기법을 사용하면 등 을 정의 할 수 있습니다. 내 질문은ABABCompleteNPNP=NPSAT=Σ2ABC

  • 이것이 오라클에 대한 올바른 사고 방식입니까?
  • (AB)C=A(BC)

예를 들어,(NPNP)NP=Σ2NP=NPΣ2=NP(NPNP)

나는이 규칙에 대한 명백한 반례를 생각할 수 없다. 누군가?


내 질문을 보셨습니까 : cstheory.stackexchange.com/q/972/873 ?
MS Dousti

1
이것은 좀 더 일반적인 질문이지만 Sadeq의 질문은 매우 관련이 있습니다. 특히 A ^ B가 계산 모델이 아닌 경우 A ^ B ^ C의 잘못된 형식에 대한 의견
Suresh Venkat

아니,하지만 어제 밤에 벽에 머리를 때리는 것이 바로이 질문에 대한 동기였습니다!
gabgoh

질문 도 참조하십시오 .
Kaveh

답변:


5

Venkat이 의견에서 말했듯이, 일부 기계 특성으로 정의되지 않은 Oracle에 대한 귀하의 정의를 이해하기가 어렵습니다.

하자 ( B C가 ) 에 TM 세트 될 (의 기계 오라클와 B 의 시스템에서 오라클 C ). A 의 머신이 C 를 호출 할 수 있다는 것은 명백합니다. B 의 머신을 호출하고 C에 직접 메시지를 전달하도록 요청합니다 .A(BC)ABCACBC

그런 것 같아요 에 기계 것 에서 오라클 호출 할 수 있습니다 C 또는 인 오라클 (에 기계 B 에서 기계를 호출 할 수 있습니다 C 정확히 동일한 정의 그래서).(AB)CACBC

마지막으로 원할 수도 있습니다.이 둘은 확실히 다른 두 가지와 다릅니다 ( B = C = N PA = P , A B , C = N P c o N P 반면 A ( B C ) = Σ P 2Π p 2 .AB,CB=C=NPA=PAB,C=NPcoNP()=Σ2Π2


4
주의 : P ^ NP 에는 NP∪coNP가 포함되어 있지만 NP∪coNP와 동일하지는 않습니다. 유사하게, P ^ (NP ^ NP)는 Σ2P∪Π2P와 동일하지 않다.
Tsuyoshi Ito

1
@ 츠요시, 발언 주셔서 감사합니다, 나는 왜 이것을 생각했는지 모르겠습니다. 실제로 이면 P N P 입니다. 하자 및 B는 NPcomplte 및 coNPcomplete 문제 될 다음 입력 받아 문제 ( X , Y를 ) 하고있는 경우에 해당 응답 X Y B가P N P 아니지만에서 N P C O N P . 영형PNPAB(엑스,와이)엑스와이영형
Arthur MILCHIOR

3

다음을 주석으로 쓰지만 너무 길어서 들어갈 수 없습니다.

먼저 " 언어 A에 대한 오라클을 갖춘 클래스 알고리즘"의 의미를 설명하겠습니다 . (이 필요는 이토 쓰요시가 지적했다). Ladner와 Lynch에서 사용하는 것과 동일한 규칙을 사용합니다 . 이 협약은 Bennett & Gill에 의해 잘 설명되어 있습니다 .

조회 테이프를 처리하는 방법에 따라 다양하게 정의 될 수있다. 우리는 Ladner와 Lynch의 규칙을 따릅니다. [LL] : 쿼리 테이프는 공간 제한에 대해 청구되지 않지만 작업 테이프로 사용되지 않도록하기 위해 쿼리 테이프는 단방향 및 쓰기 전용이며 지워집니다. 각 검색어를 자동으로 따릅니다. (Simon [Si]는 쿼리 테이프를 작업 테이프 중 하나로 간주합니다. 공간 제한에 따라 요금이 부과되는 양방향 읽기 / 쓰기 테이프입니다. Ladner-Lynch 정의는 임의의 oracle 때문에 덜 제한적이며 더 자연 스럽습니다.A L O G S P A C E A영형에스이자형영형에스이자형 [LL]에 대해서는 확률 1을 유지하지만 [Si]에 대해서는 그렇지 않음)

[LL] RE LADNER 및 NA LYNCH, 로그 공간 계산에 대한 질문의 상대화 , Math. 시스템 이론, 10 (1976), pp. 19-32.

[Si] J. SIMON, 계산 복잡성의 일부 중심 문제 , 기술. TR 75-224, 1975 년 뉴욕 ​​이타카 코넬 대학교 컴퓨터 공학과

Oracle 머신복잡성 클래스에 대한 표준 정의는 다음과 같습니다. B 및 C를 복잡성 클래스로하십시오 . 그러면 X = L C B L 로 정의 된 합법적 인 복잡성 클래스 입니다. 여기서, B L 은 언어 L에 대한 오라클이있는 클래스 B의 알고리즘으로 해결할 수있는 복잡한 결정 문제의 등급을 나타냅니다.엑스=엑스=

X는 합법적 인 복잡성 클래스이므로 복잡성 클래스 A에 대해 복잡성 클래스 X A = ( B C ) A에 대해 말할 수 있습니다 .엑스=()엑스=()

  • 는 모든 언어 L X = L C B L에 대한 오라클이있는 클래스 A의 알고리즘으로 해결할 수있는 복잡한 등급의 결정 문제를 나타냅니다. 즉, A X = L '{ L C B L } A L ' .엑스'엑스=엑스='{}'

  • 는모든 언어 L 'A에 대한 오라클과 함께클래스 X = L C B L 의 알고리즘으로 해결할 수있는 복잡한 결정 문제 유형을 나타냅니다. 다시 말해, X A = L 'A X L ' = L 'A ( L C B L ) L ' .엑스엑스='엑스='엑스'='()'

제 : .(1)'(2)'=(')12

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.

따라서, 쓸 수 있습니다.엑스='()'=,'(')

하자 . 우리는 c o N PX 라는 것을 알고 있습니다. 양측 오라클 액세스주기 N P를 하나 가져 : C O N P N PX N P = ( P N P ) N P .엑스=영형엑스영형엑스=()

발문

이토 츠요시와의 유익한 토론은 복잡성 클래스를 이중화하는 것이 쉽지 않다는 것을 밝혔습니다. 실제로 정의하는 것조차 문제가있는 것 같습니다. 만족스러운 정의가 주어 졌는지 확인하기 위해 더 많이 연구해야합니다. 한편, 나는이 문제를 해결하는 데 사용할 수있는 의견에 감사드립니다.


4
다른 질문 에 대해 언급했듯이 "L 언어의 오라클을 사용하는 클래스 B의 알고리즘"은 일반적으로 보편적으로 허용되는 정의가 없습니다.
Tsuyoshi Ito

@ 츠요시 : 사용중인 정의를 나타내는 답변을 편집했습니다. 악의를 제거합니까?
MS Dousti

추가 된 부분은 LOGSPACE ^ A의 의미 만 정의하고 B ^ A는 B = NP ^ NP와 같은 의미를 의미하지 않습니다.
Tsuyoshi Ito

@ 츠요시 : 감사합니다. 방금 의미를 명확히하기 위해 예제를 추가했습니다. 이면 A CX C (매우 자연스러운 요구 사항) 와 같은 정의를 원합니다 . X가 NP ^ NP와 같은 오라클 클래스 일 때 이것이 어떻게 정의되어야하는지 알아낼 수 있습니까? 엑스엑스
MS Dousti

4
불행히도, 당신의“자연적 요구 사항”은 실제로 그렇게 자연스럽지 않습니다. PSPACE⊆IP이고 모든 언어 A에 대해 자연스럽고 널리 받아 들여지는 IP ^ A 정의가 있지만 (검증 자에게는 A에 대한 Oracle 액세스 권한이 부여됨), PSPACE ^ A⊈IP ^ A는 확률이 1 일 확률로 알려져 있습니다 오라클 A; 참조 장, 쵸, Goldreich, Hartmanis, Håstad, 란잔 및 Rohatgi는 1994 . 내가 말했듯이, 내가 아는 한 임의의 복잡성 클래스 C에 대해 널리 인정되는 C ^ A 정의는 없습니다. (더보기)
Tsuyoshi Ito
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.