답변:
확실히! 당신이 가지고 있다고 상상해보십시오 검색 오라클의 사본 사용할 수 있습니다. 일반적으로 작업을 반복하여 검색합니다.
이것을 다음으로 바꿀 수 있습니다 각각에 의해 색인 된 병렬 사본 을 사용하여
스케일링의 관점에서, 이것은 관련이없는 결과로 간주 될 수 있습니다. 고정 된 수의 오라클이 있다면, 당신은 고정 () 개선 (있는 경우와 마찬가지로 병렬 클래식 코어에서 얻을 수있는 최선의 개선은 )이며 배율을 변경하지 않습니다. 그러나 기본 실행 시간이 변경됩니다. 우리는 Grover의 알고리즘이 정확히 최적이라는 것을 알고 있습니다. 단일 oracle로 가능한 최소 시간이 필요합니다. 그래서, 당신이 얻을 알고 시간의 향상은 특정 값에서 특정 실행 시간의 벤치 마크와 관련하여 유용합니다. .
어떤 의미에서, 다른 노드에서 병렬로 수행하면 실행 시간을 절약 할 수 있습니다. 그러나 복잡성 (일반적으로 속도 향상이라고 함)에 대해 이야기한다면 약간의 분석이 필요합니다.
당신은 우리가 필요로한다는 것에 동의합니다 병렬이 아닌 경우에 대한 작업. 두 개의 노드가 있고 N 개의 요소 목록을 두 개의 크기 목록으로 구분. 하위 목록을 검색하면.
그러나 우리는
그리고 병렬 프로세스에서 반환되는 결과 중 원하는 결과가 어떤 것인지 확인해야합니다. 복잡성에 상수를 추가하여 일반적으로 표기법.
그러나 큐 비트의 수나 다른 제한이 제한되어 있기 때문에 하드웨어를 클러스터링해야하는 경우 특히 흥미로울 것입니다.