Grover 알고리즘의 런타임


19

Grover 알고리즘의 시간 복잡성 (쿼리 복잡성이 아닌)은 무엇입니까? 그것은 그것이 나에게 분명한 것 같다 가 있기 때문에 반복하고 각 반복은 결국 시간이 걸립니다 반사 동작의 사용을 필요로 표준 범용 게이트 세트를 사용하는 .Ω(log(N)N)Ω(N)Ω(log(N))

문제는 Grover 알고리즘의 시간 복잡성이 이라는 단일 참조조차 찾을 수 없다는 것 입니다. Wikipedia와 다른 여러 웹 페이지는 시간 복잡성을 말합니다 . Grover의 논문은 "단계"라고 주장합니다.Ω(log(N)N)O(N)O(N)

뭔가 빠졌습니까? 아마도 사람들은 반사 시간을 단위 시간이 걸리도록 정의합니다. 그러나 임의의 단위가 단위 시간을 갖도록 허용하는 게임을 할 수 있다면 쿼리 복잡성과 시간 복잡도 사이에 차이가 없기 때문에 이것은 의미가 없습니다.


11
Grover 알고리즘의 시간 복잡성에 대해 언급하는 참조는 생각할 수 없지만 작성한 내용은 사실입니다. 사실, 모든 유한 게이트 세트에 대해 Grover 알고리즘의 쿼리 사이에서 수행되는 연산은 적어도 게이트를 필요로합니다. 각 게이트는 너비가 한정되어 있지만 모든 큐 비트에 영향을주는 게이트를 수행해야합니다 . Ω(logN)logN
Robin Kothari

답변:


11

다음과 같은 이유로 질문은 일반적으로 무질서한 것으로 간주됩니다. Grover의 알고리즘은 임의의 술어에 대한 솔루션을 찾기위한 조합 검색 알고리즘입니다. 예, 는 블랙 박스 알고리즘의 각 단계에서 양자 게이트 복잡성이지만, 술어도 계산해야합니다. 양자 게이트 복잡도는 . 그렇지 않으면 전체 입력을 읽지 않고 검색에서 일부 입력 비트를 버릴 수 있기 때문입니다. 반면에 재미있는 술어는 그보다 훨씬 더 많은 시간이 걸릴 수 있습니다. 따라서 술어에 대한 호출 수는 Grover 알고리즘의 고전적인 아날로그, 즉 무작위 추측과 마찬가지로 표준 코인으로 간주됩니다.Θ(로그)Ω(로그)


6

보다 적은 게이트로 Grover 알고리즘을 구현할 수있는 방법이 있음이 밝혀졌습니다 ! 따라서 게이트가 필요하다고 주장하는 참조를 찾을 수 없었습니다 . 적어도 하나의 표시된 항목이있는 경우 더 잘 수행 할 수 있습니다.영형(로그)Ω(로그)

Arunachalam과 de Wolf 의 최근 인쇄본은 쿼리 복잡성이 이고 만 있는 하나의 표시된 항목으로 검색 문제를 해결하는 새로운 알고리즘을 제공합니다. 게이트 (게이트 세트 Toffoli + 모든 1 큐빗 게이트).영형()영형(로그(로그))

함수 는 너무 느리게 증가하여 이 우주의 원자 수인 경우에도 은 최대 3입니다.로그(로그)로그(로그)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.