Grover의 검색 알고리즘에는 어떤 애플리케이션이 있습니까?


14

Grover의 검색 알고리즘은 일반적으로 정렬되지 않은 데이터베이스에서 표시된 항목을 찾는 관점에서 설명됩니다. 이는 NP 문제에 대한 솔루션 검색에 직접 적용 할 수있는 자연스러운 형식입니다 (좋은 솔루션을 쉽게 인식 할 수있는 경우).

나는 일련의 숫자의 최소, 평균 및 중앙값을 찾는 Grover의 다른 응용 프로그램에 대해 배우고 싶었습니다 . 그로 인해 이미 알려진 Grover 검색의 다른 명백한 적용 (또는 진폭 증폭과 같은 일반화의 적용)이 있는지 궁금합니다. 이 작업을 수행하는 방법에 대한 간단한 통찰력이 있으면 감사하겠습니다.

답변:


7

언급 한 것 외에도 내가 알고있는 (수정 된) Grover 알고리즘의 또 다른 응용 프로그램은 복잡한 이론, 양자 컴퓨팅 및 계산 수학충돌 문제를 해결하는 것 입니다. 그것은 또한BHT 알고리즘 .

소개 :

충돌 문제 는 Scott Aaronson이 박사 학위 논문에서 설명한 2 대 1 버전 을 가장 자주 언급합니다 . 주어진 짝수이고, 함수 F : { 1 , . . . , N } { 1 , . . . , n } f 는 일대일 또는 2 대 1 임을 미리 알고 있습니다. 모든 i i { 1 , 2에 대해 f ( i ) 값에 대해서만 쿼리 할 수 있습니다.nf:{1,...,n}{1,...,n}ff(i) . 문제는 f 가 일대일인지,일대일인지를 확실하게 결정하기 위해 얼마나 많은 쿼리를해야하는지 묻습니다.i{1,2,...,n}f

2 대 1 버전을 결정적으로 해결하려면 쿼리 가 필요 하며 일반적으로 r 대 1 기능을 1 대 1 기능과 구별하려면 n / r + 1 쿼리 가 필요 합니다.n/2+1n/r+1

결정 론적 클래식 솔루션 :

이것은 비둘기 구멍 원리를 간단하게 적용한 것입니다. 함수가 r-to-1이면 쿼리 후에 충돌이 발견됩니다. 함수가 일대일이면 충돌이 없습니다. 운이 좋지 않으면 n / r 쿼리가 별개의 답변을 반환 할 수 있습니다. 따라서 n / r + 1 개의 쿼리가 필요합니다.n/r+1n/rn/r+1

무작위 고전 솔루션 :

임의성을 허용하면 문제가 더 쉽습니다. 생일 역설에 따르면 무작위로 (명확한) 쿼리를 선택하면 높은 확률로 Θ ( 후 고정 된 2 대 1 함수에서 충돌을 찾습니다. 검색어Θ(n)

양자 BHT 솔루션 :

직관적으로, 알고리즘은 (고전적인) 무작위성을 사용하여 생일 역설의 제곱근 속도 향상과 Grover의 (양자) 알고리즘의 제곱근 속도 향상을 결합합니다.

n1/3ffffn2/3fO(n2/3)=O(n1/3)f

출처 :

  1. https://ko.wikipedia.org/wiki/Collision_problem

  2. https://ko.wikipedia.org/wiki/BHT_algorithm

  3. 충돌 문제에 대한 양자 알고리즘-Gilles Brassard, Peter Hoyer, Alain Tapp


n1/3fxf(x)f(x)n1/3 values x not already tested that collide with those tested. So, define a function that checks "not already tested and collides". This defines the marked entries. Collision is easy to test with the sorted list of values f(x). Knowing the exact number of marked entries (if 2-to-1), Grover's (almost) guarantees a solution.
DaftWullie

@DaftWullie Yes, that sure makes sense. Grover's algorithm doesn't guarantee a solution but has a high probability of providing the correct solution. But isn't that quite obvious from the Wikipedia description itself? I'm not sure I understand the point or objection you're making. Am I missing something?
Sanchayan Dutta

내가 말할 수있는 것은 그것이 나에게 분명하지 않다는 입니다. 처음 읽었을 때, 나는 모든 가능한 상태의 중첩을 준비하는 대신 Grover의 경우 이미 테스트되지 않은 상태에 대해서만 중첩을 준비했다는 것을 이해했다. 그러나 그것은 속도 향상이 설명되는 방식에 결정적인 것처럼 보였습니다. 또한 처음에는 충돌을 확인하는 방법에 대해 염려했습니다. 충돌을 확인하는 쌍과 충돌을 얼마나 효율적으로 계산할 수 있습니까?
DaftWullie

@DaftWullie 아, 알았어. 나는 당신의 요점을 얻는다. Wikipedia는 알고리즘에 대해 자세히 설명하지 않습니다. 자세한 내용은 이미 원본 문서 ( arxiv.org/abs/quant-ph/9705002 )를 참조 할 수 있습니다 ( 이미 이미 한 것 같습니다). 나중에이 답변을 확장하여 모든 세부 사항을 포함하려고합니다. 나는 아직도 신문을 읽고 있습니다.
Sanchayan Dutta

1
큐 비트와 양자 게이트가 비트나 클래식 게이트보다 믿을 수 없을 정도로 저렴하지 않다면, BHT에 대한 논의에는 비용이 van Oorschot–Wiener 기계와의 최신 클래식 충돌 검색을 초과한다는 경고가 포함되어야합니다. 자세한 내용은 cr.yp.to/papers.html#collisioncost 또는 blog.cr.yp.to/20171017-collisions.html 을 참조하십시오. (후자는 고전적인 충돌 검색보다 비용 효과적이라고 주장하는 BHT 개선 주장에 대한 답변입니다.)
Squeamish Ossifrage

4

Grover의 알고리즘은 양자 암호화에서도 광범위하게 사용됩니다. 초월 로그 문제, 다항식 루트 찾기 문제 등과 같은 문제를 해결하는 데 사용할 수 있습니다.


조금 더 자세히 설명해 주시겠습니까? 이러한 문제는 무엇입니까? 그들에 대해 더 읽을 수있는 곳은 어디입니까?
DaftWullie 2016

1
ieeexplore.ieee.org/document/7016940 다항식 근본 문제를 해결하기위한 양자 알고리즘을 개발하려는 ieee 논문입니다. 거기에 대해 더 읽을 수 있습니다
da281

0

Grover의 알고리즘은 임의의 최적화 문제를 검색 문제로 공식화 할 수 있기 때문에 무차별 검색보다 수치 최적화 문제를 더 빨리 해결하는 데 사용할 수 있습니다. 미디엄 각 실행 내에서 이진 검색을 사용하여 로그 실행 횟수를 반복하여 최적의 결과를 얻습니다. 미디엄) : https://epubs.siam.org/doi/abs/10.1137/040605072?journalCode=sjope8 .

실제로 Grover의 알고리즘은 무차별 검색보다 영리한 알고리즘을 사용할 수있는 구조가 많지 않은 많은 최적화 문제 (예 : NP- 완료 문제)에 대해 가장 잘 알려진 양자 알고리즘입니다. https : // link.springer.com/chapter/10.1007/978-3-540-78773-0_67 .

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