복잡한 이론에서 오라클이 발생하는 가장 일반적인 방법은 다음과 같습니다. 특정 리소스가 제한된 튜링 머신에 고정 된 오라클을 사용할 수있게되었으며, 오라클이 머신의 계산 능력을 향상시키는 방법을 연구합니다.
그러나 때로는 oracles가 발생하는 또 다른 방법이 있습니다 : input의 일부 . 예를 들어, 주어진 고차원 폴리 토프의 부피를 계산하기위한 알고리즘을 연구하고 싶다고 가정 해 봅시다. 일반적으로 폴리 토프는 패싯 또는 다른 명시 적 표현 목록을 제공하여 지정해야합니다. 그러나 볼륨 오라클에 의해 지정된 폴리 토프의 볼륨을 계산하는 문제도 제기 할 수 있습니다즉, 주어진 점이 폴리 토프 안에있는 경우에만 공간의 점 좌표를 입력으로 사용하고 "예"를 출력합니다. 그런 다음 이러한 방식으로 지정된 폴리 토프의 부피를 계산하는 데 필요한 계산 리소스를 요청할 수 있습니다. 이 특별한 경우에 우리는 Dyer, Frieze 및 Kannan의 매우 다항식 시간 근사화 체계를 가지고 있으며, 흥미롭게도 복잡도 이론 관점에서 볼 때 무작위성 이이 문제에 필수적인 방식으로 도움 이 된다는 증거는 결정 론적 알고리즘이 없습니다. Dyer-Frieze-Kannan 알고리즘뿐만 아니라 수행합니다.
오라클이 입력의 일부로 제공되는 문제의 복잡성 이론을 연구 할 체계적인 방법이 있습니까? 어쨌든 oracles가있는 복잡한 클래스의 이론으로 축소됩니까? 필자의 추측은 '아니오'이며, 오라클이 입력의 일부로 제공 될 수있는 방법이 너무 많기 때문에 이런 종류의 모든 문제는 임시 방식으로 처리해야합니다. 그러나이 시점에서 나는 틀렸다는 것이 기쁘다.