Algoritmo Deutsch – Jozsa - Deutsch–Jozsa algorithm

O algoritmo Deutsch-Jozsa é um algoritmo quântico determinístico proposto por David Deutsch e Richard Jozsa em 1992 com melhorias por Richard Cleve , Artur Ekert , Chiara Macchiavello e Michele Mosca em 1998. Embora de pouco uso prático atual, é um dos primeiros exemplos de um algoritmo quântico que é exponencialmente mais rápido do que qualquer algoritmo clássico determinístico possível.

Declaração do problema

No problema Deutsch-Jozsa, recebemos um computador quântico de caixa preta conhecido como oráculo que implementa alguma função . A função recebe valores binários de n dígitos como entrada e produz 0 ou 1 como saída para cada um desses valores. Temos a promessa de que a função é constante (0 em todas as saídas ou 1 em todas as saídas) ou balanceada (retorna 1 para metade do domínio de entrada e 0 para a outra metade). A tarefa então é determinar se é constante ou equilibrado usando o oráculo.

Motivação

O problema de Deutsch-Jozsa é projetado especificamente para ser fácil para um algoritmo quântico e difícil para qualquer algoritmo clássico determinístico. A motivação é mostrar um problema de caixa preta que pode ser resolvido de forma eficiente por um computador quântico sem erros, enquanto um computador clássico determinístico precisaria de um grande número de consultas à caixa preta para resolver o problema. Mais formalmente, ele produz um oráculo em relação ao qual EQP , a classe de problemas que pode ser resolvida exatamente em tempo polinomial em um computador quântico, e P são diferentes.

Como o problema é fácil de resolver em um computador probabilístico clássico, ele não produz uma separação de oráculo com BPP , a classe de problemas que pode ser resolvida com erro limitado em tempo polinomial em um computador probabilístico clássico. O problema de Simon é um exemplo de problema que produz uma separação de oráculo entre BQP e BPP .

Solução clássica

Para um algoritmo determinístico convencional onde n é o número de bits, avaliações de serão necessárias no pior caso. Para provar que é constante, um pouco mais da metade do conjunto de entradas deve ser avaliada e suas saídas consideradas idênticas (lembrando que a função tem garantia de ser balanceada ou constante, não em algum lugar no meio). O melhor caso ocorre quando a função é balanceada e os dois primeiros valores de saída selecionados são diferentes. Para um algoritmo randomizado convencional , uma avaliação constante da função é suficiente para produzir a resposta correta com uma alta probabilidade (falha com probabilidade com ). No entanto, as avaliações ainda são necessárias se quisermos uma resposta sempre correta. O algoritmo quântico Deutsch-Jozsa produz uma resposta que é sempre correta com uma única avaliação de .

História

O Algoritmo Deutsch-Jozsa generaliza o trabalho anterior (1985) de David Deutsch, que forneceu uma solução para o caso simples em que . Especificamente, recebemos uma função booleana cuja entrada é de 1 bit e perguntamos se ela é constante.

O algoritmo proposto por Deutsch originalmente não era, de fato, determinístico. O algoritmo foi bem-sucedido com uma probabilidade de metade. Em 1992, Deutsch e Jozsa produziram um algoritmo determinístico que foi generalizado para uma função que recebe bits como entrada. Ao contrário do algoritmo de Deutsch, esse algoritmo exigia duas avaliações de função em vez de apenas uma.

Melhorias adicionais no algoritmo Deutsch-Jozsa foram feitas por Cleve et al., Resultando em um algoritmo que é determinístico e requer apenas uma única consulta de . Esse algoritmo ainda é conhecido como algoritmo de Deutsch-Jozsa em homenagem às técnicas inovadoras que empregaram.

Algoritmo

Para o algoritmo Deutsch-Jozsa ao trabalho, o oráculo de computação de tem que ser um oráculo quântica que não decohere . Ele também não deve deixar nenhuma cópia no final da chamada do oráculo.

Circuito quântico do algoritmo Deutsch-Jozsa

O algoritmo começa com o estado do bit . Ou seja, os primeiros n bits estão cada um no estado e o bit final está . Uma transformação de Hadamard é aplicada a cada bit para obter o estado

.

Temos a função implementada como um oráculo quântico. O oráculo mapeia o estado para , onde está o módulo 2 (veja abaixo os detalhes de implementação). Aplicar o oráculo quântico dá

.

Para cada um é 0 ou 1. Testando essas duas possibilidades, vemos que o estado acima é igual a

.

Neste ponto, o último qubit pode ser ignorado e, portanto, permanece abaixo:

.

Aplicamos uma transformada Hadamard a cada qubit para obter

onde é a soma do produto bit a bit (onde é módulo de adição 2).

Finalmente, examinamos a probabilidade de medição ,

que avalia 1 se for constante ( interferência construtiva ) e 0 se for balanceado ( interferência destrutiva ). Em outras palavras, a medição final será (ou seja, todos zeros) se for constante e produzirá alguns outros estados se estiver equilibrada.

Algoritmo de Deutsch

O algoritmo de Deutsch é um caso especial do algoritmo geral de Deutsch-Jozsa. Precisamos verificar a condição . É equivalente a verificar (onde está o módulo de adição 2, que também pode ser visto como uma porta XOR quântica implementada como uma porta NOT controlada ), se zero, então é constante, caso contrário, não é constante.

Começamos com o estado de dois qubit e aplicamos uma transformada de Hadamard a cada qubit. Isso produz

É-nos dada uma implementação quantum da função que mapeia para . Aplicando esta função ao nosso estado atual, obtemos

Ignoramos o último bit e a fase global e, portanto, temos o estado

Aplicando uma transformação Hadamard a este estado, temos

se e somente se medirmos e se e somente se medirmos . Portanto, com certeza sabemos se é constante ou equilibrado.

Veja também

Referências

links externos