Sumário
- Existe uma teoria da complexidade dos problemas de pesquisa (também conhecidos como problemas de relação). Essa teoria inclui classes chamadas FP , FNP e FBQP que são efetivamente sobre a solução de problemas de pesquisa com diferentes tipos de recursos.
- Nos problemas de pesquisa, você também pode definir problemas de decisão, o que permite relacionar os problemas de pesquisa às classes P , NP e BQP usuais .
- Se você considera a versão de pesquisa da versão de decisão do problema, a maneira como você considera a entrada para o problema de Pesquisa Não Estruturada determinará quais limites superiores você pode colocar em sua complexidade.
A complexidade dos problemas de relacionamento
Como você observa, o problema de Grover resolve um problema de pesquisa , que na literatura de complexidade também é conhecido como problema de relação . Ou seja, é um problema do seguinte tipo:
A estrutura de um problema geral de pesquisa.
Dada uma entrada e uma relação binária R , encontre um y tal que R ( x , y ) seja válido.xRyR(x,y)
As classes de complexidade FP e FNP são definidas em termos de tais problemas, em que um está particularmente interessado no caso em que tem no máximo uma função polinomial do comprimento de x e onde a relação R ( x , y ) pode ser calculado em uma quantidade de tempo limitada por algum polinômio no comprimento de ( x , y ) .yxR(x,y)(x,y)
Em particular: o exemplo do problema de 'pesquisa de banco de dados' para o qual a Pesquisa de Grover é geralmente aplicada pode ser descrito a seguir.
Pesquisa não estruturada.
Dado um oráculo de entrada tal que O | um ⟩ | b ⟩ = | um ⟩ | b ⊕ f ( a ) ⟩ para alguma função f : { 0 , 1 } m → { 0 , 1 } , encontre y tal que O | y ⟩ | 0 ⟩ = | y ⟩ | 1O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}y .O|y⟩|0⟩=|y⟩|1⟩
Aqui, o próprio oráculo é a entrada para o problema: ele desempenha o papel de , e a relação que estamos computando é
R ( O , y )x
R(O,y)≡[O|y⟩|0⟩=|y⟩|1⟩]≡[f(y)=1].
Suponha que, em vez de um oráculo, recebamos uma entrada específica que descreve como a função f deve ser calculada, e então podemos considerar a qual classe de complexidade esse problema pertence. Como indica , a classe de complexidade apropriada que obtemos depende de como a entrada é fornecida.xfpyramids
Suponha que a função de entrada seja fornecida como um banco de dados (como o problema às vezes é descrito), em que cada entrada no banco de dados tem algum comprimento . Se n for o comprimento da cadeia x usada para descrever o banco de dados inteiro , o banco de dados terá N = n / ℓ entradas. É então possível pesquisar exaustivamente todo o banco de dados consultando cada uma das N entradas em sequência e parar se encontrarmos uma entrada y tal que f ( y ) = 1 . Supondo que cada consulta ao banco de dados tenha algo como O (ℓnxN=n/ℓNyf(y)=1 , este procedimento pára no tempo O ( N log N ) ⊆ O ( n log n ) , de modo que o problema está noFP.O(logN)⊆O(logn)O(NlogN)⊆O(nlogn)
Supondo que a pesquisa de banco de dados possa ser feita em superposição coerente, o algoritmo de Grover permite que esse problema esteja no FBQP . No entanto, como FP ⊆ FBQP , a pesquisa exaustiva clássica também prova que esse problema está no FBQP . Tudo o que obtemos (até os fatores de log) é uma aceleração quadrática devido a uma economia no número de consultas ao banco de dados.
Suponha-se que a função de entrada é descrito sucintamente, por um algoritmo de tempo polinomial que tem uma especificação e um argumento y ∈ { 0 , 1 } m e calcula ó : H m + 1 2x∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12em um estado de base padrão , onde m pode ser muito maior do que Ω ( log n ) . Um exemplo seria onde x especifica a forma CNF de alguma função booleana f : { 0 , 1 } m → { 0 , 1 } para m ∈ O ( n ) ; nesse caso, podemos avaliar eficientemente f ( y ) em uma entrada y ∈|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(n)f(y) e, assim, avaliar eficientemente ó em estados da base padrão. Isso coloca o problema noFNP.y∈{0,1}mO
Dado um procedimento para avaliar de ( x , y ) no tempo O ( p ( n ) ) para n = | x | , O algoritmo de Grover resolve o problema da pesquisa não estruturada de O no tempo O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) . Isso não é polinomial emne, portanto, não é suficiente para colocar esse problema noFBQP: obtemos apenas uma aceleração quadrática - embora essa ainda seja uma economia potencialmente enorme de tempo de computação, assumindo que a vantagem oferecida pelo algoritmo de Grover não seja perdida. a sobrecarga necessária para o cálculo quântico tolerante a falhas.⊆O(p(n)2n−−√)n
Em ambos os casos, a complexidade é determinada em termos do comprimento da cadeia de x * que especifica a forma de calcular a oráculo ó . No caso em que x representa uma tabela de consulta, temos N = n / ℓ ; nesse caso, o desempenho em função de N é semelhante ao desempenho em função de n ; mas no caso em que x especifica sucintamente O e N ∈ O ( 2 n / 2 ) , a mensagem geral de que Grover resolve o problema em OnxOxN=n/ℓNnxON∈O(2n/2)consultas obscurecem a mensagem mais refinada de que esse algoritmo ainda é de tempo exponencial para um computador quântico.O(N−−√)
Complexidade de decisão de problemas de relacionamento
Há uma maneira simples para obter problemas de decisão de problemas de relacionamento, que é bem conhecido da teoria da NP -completo problemas: para transformar o problema de pesquisa a uma pergunta sobre a existência de uma solução válida.
A versão de decisão de um problema de pesquisa geral.
Dada uma entrada e uma relação binária R , determinar se ∃ y : R ( x , y ) se mantém.xR∃y:R(x,y)
A classe de complexidade NP pode ser essencialmente definida em termos de tais problemas, quando o relacionamento é eficientemente computável: os problemas mais famosos de NP (CNF-SAT, HAMCYCLE, 3-COLORING) referem-se à mera existência de uma solução válida para um problema de relacionamento eficientemente verificável. Essa mudança de produzir soluções para simplesmente afirmar a existência de soluções é também o que nos permite descrever versões de fatoração inteira que estão no BQP (perguntando se existem fatores não triviais, em vez de solicitar os valores de fatores não triviais) .R
xx uma solução para a pesquisa não estruturada que o faz sem realmente encontrar uma solução, embora não esteja claro, em geral, como fazê-lo de uma maneira que proporcione uma vantagem sobre a localização de uma solução.
Complexidade do Oracle
OxO
OnOnx
O
x=11⋯1n
y∈{0,1}n
y∈{0,1}n
O|y⟩|0⟩=|y⟩|1⟩
NPOFNPOBQPOFBQPO
O
Como podemos ver no último caso, se tratarmos a entrada apenas como um oráculo, a situação parecerá pouco intuitiva e certamente tornará impossível falar sobre as maneiras pelas quais o "banco de dados" pode ser realizado. Mas uma virtude de considerar a versão relativizada do problema, com um oráculo real, é que podemos provar coisas que, do contrário, não temos idéia de como provar. Se pudéssemos provar que a versão decisória do problema de pesquisa não estruturado e sucinto estava no BQP , teríamos uma enorme inovação na computação prática; e se pudéssemos provar que o problema de decisão não estava realmente no BQP , teríamos mostrado que P ≠ PSPACEOONPOBQPO
\text{}
para escrever nomes de classes de complexidade. Por exemplo\text{NP}
ou\text{BQP}