오라클은 정확히 무엇입니까?


18

" 오라클 " 이란 정확히 무엇입니까 ? 위키 백과는 오라클이 " 블랙 박스 "라고 말하지만 그게 무슨 뜻인지 잘 모르겠습니다.

예를 들어, 상기에서 독일어-Jozsa 알고리즘 , , 오라클 레이블 만 박스 `U_f ", 또는 그것의 측정 (마드 게이트를 포함 함)의 입력 사이의 모든인가?

''에프",

그리고 오라클을 제공하려면 에프 를 행렬 형식이나 압축 된 형식 으로 작성해야합니까? 에프와이와이에프(엑스) 하고 엑스엑스 는 오라클의 정의와 관련하여 충분합니까?


Microsoft는 양자 오라클 에 대한 훌륭한 문서를 가지고 있습니다.
Sanchayan Dutta

답변:


22

오라클 (적어도이 맥락에서)은 단순히 알지 못하는 속성이 있고 찾으려고하는 작업입니다. "블랙 박스"라는 용어는 내부에서 볼 수없는 박스라는 생각을 전달하기 위해 동등하게 사용되며, 따라서 그것이 무엇을하고 있는지 모릅니다. 아는 것은 입력을 제공하고 출력을 수신 할 수 있다는 것입니다. 묘사 한 회로도에서는 상자 입니다. 그 밖의 모든 것은 오라클을 심문하고 속성을 발견하기 위해 추가하는 것입니다.에프

오라클에 제공하기 위해 가능한 모든 입력에서 출력으로의 맵을 정의하는 유효한 형식으로 작성할 수 있습니다. 이것은 아마도 모수 인 알 수없는 행렬이거나 맵 (엄격히 )는 설명이 있으므로 다른 작업을 수행 할 수 있습니다.:(엑스,와이)(엑스,와이에프(엑스))엑스,와이{0,1}


마지막 문장에서 의미하는 바를 명확하게 설명해 주시겠습니까?
Aritra Das

@tparker는 실제로는 아닙니다. 오라클 형식의 목적은 종종 알고리즘에 대한 설명뿐만 아니라 알고리즘의 최적화를 허용한다는 것입니다. 이는 단순히 오라클의 사용 횟수로 측정됩니다. 오라클이 얼마나 오래 실행되는지는 중요하지 않습니다. 따라서 그로버의 경우 고전 호출이 수행하는 Oracle 호출 수의 제곱근이 필요합니다.
DaftWullie

네가 옳아; 내 의견이 잘못 표현되었습니다. 내가 말하고자하는 것은 오라클 결과가 "실제"런타임에 대한 통찰력을주기를 원한다면, 실제로 실행하기 위해 실행중인 서브 루틴이 무엇이든 블랙 박스 가정에 추가하여 가정해야한다는 것입니다. 오라클 호출은 알고리즘의 런타임을 지배하므로 오라클 호출의 수는 실제로 실제 런타임에 비례합니다. 그러나 이것은 "실제"관련성에 대한 추가 가정이며, 오라클 정의의 필수 부분은 아닙니다.
tparker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.