그로버의 알고리즘과 복잡성 클래스와의 관계?


12

Grover 알고리즘에 대해 혼란스러워하고 복잡성 클래스와 연결되어 있습니다.

Grover의 알고리즘은 ~ = 인 요소 의 N = 2 n ( f ( k ) = 1 인 ) 데이터베이스에서 요소 를 찾아kN=2nf(k)=1 오라클에 대한 호출.

N=2n/2

따라서 다음과 같은 문제가 있습니다.

문제점 : 찾기 데이터베이스가되도록 F ( K ) = 1kf(k)=1

이제는 이것이 문제가 아니며 복잡성 클래스 , NP 등 의 일반적인 정의가 실제로 적용되지 않는다는 것을 알고 있습니다. 그러나 나는 우리가 그러한 경우에 복잡성 클래스를 어떻게 정의 할 것인지 알고 싶습니다. 날씨는 N 또는 n 과 관련하여 수행 됩니까?PNPNn

또한 Grover의 알고리즘을 서브 루틴으로 사용할 수 있습니다. Grover의 알고리즘이 복잡성 클래스 문제를 변경하지 않는다는 여러 곳에서 읽었습니다.이를 보는 휴리스틱 방법이 있습니까?


\text{}복잡한 클래스의 이름을 쓰는 데 사용하십시오 . 예를 들어 \text{NP}\text{BQP}
Sanchayan 두타

1
나는 당신이 여기서 무엇을 요구하는지 잘 모르겠습니다. 복잡성 클래스에는 계산 문제가 있으므로 알고리즘은 복잡성 클래스의 멤버가 될 수 없습니다. 질문에 언급 된 문제가 '알려진'복잡성 클래스에 포함되어 있는지 또는 완전한지 여부를 묻고 있습니까? Grover 알고리즘의 '발견'이 알려진 복잡성 클래스 간의 관계에 대한 정리로 이어지는 지 묻고 있습니까? 명확히하십시오.
이산 도마뱀

답변:


6

요약

  • 검색 문제의 복잡성 (관계 문제라고도 함) 이론이 있습니다. 이 이론에는 다양한 종류의 자원으로 검색 문제를 효과적으로 해결하는 FP , FNPFBQP 클래스가 포함 됩니다.
  • 검색 문제에서 의사 결정 문제를 정의하여 검색 문제를 일반적인 클래스 P , NPBQP에 연결할 수 있습니다 .
  • 문제점의 의사 결정 버전의 검색 버전을 고려하든, 비정형 검색 문제에 대한 입력을 고려하는 방법에 따라 복잡성에 상한을 지정할 수 있습니다.

관계 문제의 복잡성

아시다시피 Grover의 문제는 검색 문제를 해결하는데 ,이 문제는 복잡한 문헌에서 때때로 관계 문제 라고도 합니다. 즉, 다음과 같은 문제가 있습니다.

일반적인 검색 문제의 구조
입력이 주어 이진 관계 R 하는 발견 Y 되도록을 R ( X , Y는 ) 보유하고있다.xRyR(x,y)

복잡성 클래스 FPFNP가 특정한 하나의 경우에 관심이 같은 문제의 관점에서 정의되고 기껏 길이의 다항식 함수 길이를 갖는 X를 , 어디 관계 R ( X , Y는 ) 자체 수 ( x , y ) 길이의 일부 다항식에 의해 제한되는 시간 량으로 계산됩니다 .yxR(x,y)(x,y)

특히 Grover의 검색이 일반적으로 적용되는 '데이터베이스 검색'문제의 예는 다음과 같이 설명 할 수 있습니다.

비정형 검색.
입력 오라클 와 같이 O | | B = | | B F ( ) 일부 기능에 대해 F : { 0 , 1 } m{ 0 , 1 } 하는 발견 Y 되도록을 O | Y | 0 = | Y | 1O:H2m+1H2m+1O|a|b=|a|bf(a)f:{0,1}m{0,1}y .O|y|0=|y|1

여기에서 오라클 자체는 문제에 대한 입력입니다. 의 역할을 수행 하며 우리가 계산하는 관계는 R ( O , y )입니다.x

R(O,y)[O|y|0=|y|1][f(y)=1].

오라클 대신에 함수 f 계산 방법을 설명하는 특정 입력 가 제공되었다고 가정하면 이 문제가 속하는 복잡성 클래스를 고려할 수 있습니다. 표시된 것처럼 , 우리가 얻는 적절한 복잡성 클래스는 입력이 제공되는 방법에 따라 다릅니다.xfpyramids

  • 입력 함수가 데이터베이스로 제공되고 (문제가 설명 데이터베이스에 대한 각 항목의 길이가 ℓ 인 것으로 가정하십시오 . 경우 n은 문자열의 길이가 x를 설명하는 데 사용되는 전체 데이터베이스 , 데이터베이스가 갖는 N = N / ℓ의 항목. 그런 다음 각 N 항목을 순서대로 쿼리하여 전체 데이터베이스를 철저하게 검색하고 f ( y ) = 1 과 같은 항목 y를 찾으면 중지 할 수 있습니다. 데이터베이스에 대한 각 쿼리는 O (nxN=n/Nyf(y)=1 시간,이 절차는 시간 O ( N log N ) O ( n log n ) 에서 중지되므로 문제가FP에있습니다.O(logN)O(logn)O(NlogN)O(nlogn)

    데이터베이스 조회가 일관된 중첩으로 수행 될 수 있다고 가정하면 Grover 알고리즘은이 문제를 FBQP허용 합니다. 그러나 FP  ⊆  FBQP 로서 고전적인 철저한 검색은이 문제가 FBQP에 있음을 증명합니다 . 우리가 얻는 모든 것 (로그 팩터까지)은 데이터베이스 쿼리 수의 절약으로 인해 2 차적인 속도 향상입니다.

  • x{0,1}ny{0,1}mO:H2m+1H2m+1|y|bmΩ(logn)xf:{0,1}m{0,1}mO(n)f(y)y{0,1}mO

    f(y)(x,y)O(p(n))n=|x|OO(p(n)2m) O(p(n)2n)n

nxOxN=n/NnxONO(2n/2)O(N)

관계 문제로 인한 의사 결정 복잡성

NP- 완전 문제 이론에서 잘 알려진 관계 문제로부터 결정 문제를 얻는 간단한 방법이 있습니다 : 검색 문제를 유효한 솔루션의 존재에 대한 질문으로 바꾸는 것입니다.


xRy:R(x,y)

R

xx 실제로 솔루션을 찾지 않고도 그렇게하는 비정형 검색 솔루션이지만 실제로 솔루션을 찾는 것보다 이점을 제공하는 방법은 일반적으로 명확하지 않습니다.

오라클의 복잡성

OxO

OnOnx

O
x=111n

  • y{0,1}n

  • y{0,1}n

O|y|0=|y|1

NPOFNPOBQPOFBQPO

O

후자의 경우에서 알 수 있듯이 입력을 오라클로만 취급하면 상황이 약간 직관적이지 않고 "데이터베이스"가 실현 될 수있는 방법에 대해 이야기하는 것이 불가능합니다. 그러나 실제 오라클과 함께 문제의 관련성있는 버전을 고려하는 한 가지 미덕은 우리가 증명할 방법이 전혀없는 것을 증명할 수 있다는 것입니다. 간결한 구조화되지 않은 검색 문제의 결정 버전이 BQP에 있음을 증명할 수 있다면 실제 계산에서 엄청난 돌파구를 실현할 수 있습니다. 우리는 의사 결정 문제가 실제로에서 아니라는 것을 입증 할 수있는 경우 BQP , 우리는 보여 것이라고 P ≠ PSPACEOONPOBQPO


2

nmn

m2n/2m2n1

그러나 물리학 자들은 이것이 여전히 알려진 (또는 실제로 쉽게 상상할 수있는) 고전적인 등가물이 없다는 점에서 기하 급수적으로 증가한다는 개념에 호소하기를 원한다. 이것은 oracle 함수가 데이터베이스 조회이고 Grover 알고리즘이 데이터베이스에있는 데이터보다 더 적은 조회를 요구할 수있는 데이터베이스 예제에서 가장 분명합니다. 이런 점에서 복잡성 클래스 그림에서 완전히 사라지더라도 여전히 중요한 이점이 있습니다.


" 이 여전히 알려진 아니오 지수 속도 향상이라는 개념에 매력에 같은 물리학 자들은 "... "당신이 쓰기에 의미했던 여전히 다항식 속도 향상을 ?"
glS

아니요, 실제로는 지수 속도가 빠릅니다 (지수 런타임을 비지 수적 런타임으로 전환하기에는 충분하지 않습니다).
피라미드

2

n

NP

f(x)x{0,1}nxf(x)=1pxmpoly(n)g(x,px)=1f(x)=1g(x,px)poly(n)

몇 가지 예를 들어 보겠습니다 (아마도 여기 당신이 요구 한 입니까?).

  • f(x)xxf(x)g(x,px)=f(x)

  • f(x)xx=72px=(8,9)g(x,p)x

  • G1G2xf(x)pxG1G2g(x,px)pxG1G2

  • xf(x)pxg(x,px)

NPPP

PNPNPPPNP

NPxpxm=poly(n)g(x,px)=1O(2mpoly(m))g(x,px)=1pxO(2m/2poly(m)). 이것은 훨씬 빠르지 만 실행 시간이 다항식인지 또는 더 나쁜지에 대한 평가를 변경하지는 않습니다. 다항식 시간 알고리즘이되지 않았습니다. 예를 들어, 그래프 동형은 가능한 모든 순열을 검색해야합니다. 지뢰 찾기는 발견되지 않은 사각형에서 가능한 모든 지뢰 할당을 검색해야합니다.

물론, 때때로 문제의 추가 구조는 가능한 모든 증거를 검색 할 필요가없는 다른 솔루션을 허용합니다. 그로버의 탐색은 우리에게 덜 사용되거나 전혀 사용되지 않지만 다항식 시간 알고리즘을 다른 방식으로 생각해 낼 수 있습니다. 예를 들어, 복합 테스트의 경우 : 고전적으로, 숫자의 요소를 찾는 것은 어려운 것으로 보입니다. 가능한 모든 요소를 ​​테스트하는 것보다 훨씬 나을 수는 없으므로 이러한 형식의 증명을 사용하는 것은별로 도움이되지 않지만 이미 언급했듯이 AKS 우선 순위 테스트라는 다른 경로를 통해 문제를 효율적으로 해결할 수 있습니다.


P 및 NP 클래스는 일반적 으로이 질문에 대한 답변 과 같이 언어 클래스 또는 의사 결정 문제로 정의됩니다 . 이것들은 여기서와 같이 이진 출력을 가진 함수로 '인코딩'될 수 있지만, 복잡성 이론에서는 약간 비표준입니다.
이산 도마뱀

f(x)

원하는 것을 정의 할 수 있지만 독자가 다른 출처를 확인할 때 이것이 표준이 아니라고 언급하는 것이 유용하다고 생각합니다. 따라서 의견.
이산 도마뱀

-1

데이터베이스는 잊어 버리십시오. Grover의 알고리즘은 부울 만족도 문제를 해결합니다 .

n10

이 문제는 NP가 완료된 것으로 알려져 있습니다.


3
당신이 말하는 것에 진실의 요소가 있습니다 --- 오라클은 거의 항상 오라클을 데이터베이스 조회가 아닌 함수를 평가하는 것으로 생각해야합니다. 그리고 그 함수가 다항식 시간으로 평가 될 수 있다면, 그것은 실제로 SAT의 실례이며, 실제로 NP- 완료입니다. 그러나 Grover의 속도가 최대 2 차적이라는 점을 감안할 때 SAT의 NP- 완전성이 Grover의 알고리즘이 실제로하는 것과 관련이 있는지 확실하지 않습니다.
Niel de Beaudrap 12

2
무지하거나 트롤 다운 다운 투표로 인해 더 이상이 포럼에 참여하지 않을 것입니다.
kludg

@kludg 나는 다운 투표 중 하나가 내 것이라고 인정하므로 설명하겠습니다. 추가 컨텍스트 나 설명이없는 답변은 OP에서 제기 한 질문에 대한 답변이 아닙니다. 흥미로운 점을 지적하지만 지금까지는 내 특정 질문과 관련이 없다고 말합니다. 이제 나는이 시점에서 틀릴 수 있고 실제로 대답하는 것은 내 질문 중 일부에 대한 대답입니다.
양자 spaghettification
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.