Pular para o conteúdo principal

Uma abordagem à tolerância a falhas

Vamos começar delineando uma abordagem básica à computação quântica tolerante a falhas, baseada em circuitos quânticos e códigos de correção de erros.

Para fins desta discussão, considere o seguinte exemplo de circuito quântico. Este é um circuito de teleportação, incluindo a preparação do e-bit, mas a funcionalidade específica do circuito é irrelevante — é apenas um exemplo e, na prática, provavelmente nos interessaremos por circuitos significativamente maiores.

Um circuito de teleportação

Um circuito como este representa um ideal, e uma implementação real dele não será perfeita. Então, o que pode dar errado?

A verdade é que muita coisa pode dar errado! Em particular, as inicializações de estado, as operações unitárias e as medições serão todas imperfeitas; e os próprios qubits estarão sujeitos a ruído, incluindo decoerência, em todos os momentos da computação, mesmo quando nenhuma operação está sendo realizada sobre eles e eles estão simplesmente armazenando informação quântica. Ou seja, praticamente tudo pode dar errado.

Há uma exceção, porém: qualquer computação clássica envolvida é assumida como perfeita — porque, na prática, computações clássicas são perfeitas. Por exemplo, se decidirmos usar um código de superfície para correção de erros e um algoritmo clássico de emparelhamento perfeito for executado para calcular as correções, realmente não precisamos nos preocupar com a possibilidade de que erros nessa computação clássica levem a uma solução incorreta. Como outro exemplo, computações quânticas frequentemente necessitam de pré e pós-processamento clássico, e essas computações clássicas também podem ser assumidas como perfeitas.

Modelos de ruído

Para analisar implementações tolerantes a falhas de circuitos quânticos, precisamos de um modelo matemático preciso — um modelo de ruído — por meio do qual probabilidades para que várias coisas deem errado possam ser associadas. Em hipótese, alguém poderia tentar desenvolver um modelo de ruído altamente detalhado e complicado que vise refletir a realidade do que acontece em um dispositivo específico. Mas, se o modelo de ruído for muito complicado ou difícil de analisar, provavelmente será de utilidade limitada. Por essa razão, modelos de ruído mais simples são muito mais comumente considerados.

Um exemplo de modelo de ruído simples é o modelo de ruído estocástico independente, em que os erros ou falhas que afetam diferentes componentes em diferentes momentos no tempo — ou, em outras palavras, diferentes localizações em um circuito quântico — são assumidos como independentes. Por exemplo, cada gate pode falhar com uma certa probabilidade, um erro pode atingir cada qubit armazenado por unidade de tempo com uma probabilidade diferente, e assim por diante, sem correlações entre os diferentes erros possíveis.

Agora, é certamente razoável objetar a tal modelo, pois provavelmente haverá correlações entre erros em dispositivos físicos reais. Por exemplo, pode haver uma pequena chance de um erro catastrófico que destrua todos os qubits de uma vez. Talvez mais provável, poderiam existir erros localizados, mas que mesmo assim afetam múltiplos componentes em um computador quântico. Ninguém sugere o contrário! No entanto, o modelo de ruído estocástico independente fornece uma linha de base simples que captura a ideia de que a natureza é imprevisível, mas não maliciosa, e não está intencionalmente tentando arruinar computações quânticas.

Outros modelos de ruído menos tolerantes também são comumente estudados. Por exemplo, uma relaxação comum da suposição de independência entre erros que afetam diferentes localizações em um circuito quântico é que apenas as localizações dos erros são independentes, mas os erros reais que afetam essas localizações podem ser correlacionados.

Independentemente do modelo de ruído escolhido, deve-se reconhecer que aprender sobre os erros que afetam dispositivos específicos e formular novos modelos de erro se os antigos nos levarem a um caminho errado pode ser uma parte importante do desenvolvimento da computação quântica tolerante a falhas.

Implementações de circuitos tolerantes a falhas

A seguir, consideraremos uma estratégia básica para implementações tolerantes a falhas de circuitos quânticos. Usaremos o circuito de teleportação acima como exemplo contínuo para ilustrar a estratégia, embora ela possa ser aplicada a qualquer circuito quântico.

Aqui está um diagrama de uma implementação tolerante a falhas do nosso circuito de teleportação.

Implementação tolerante a falhas de um circuito de teleportação

Os componentes individuais neste diagrama e sua conexão com o circuito original são os seguintes.

  1. Preparações de estado, gates unitários e medições não são realizados diretamente, como operações únicas, mas sim por meio dos chamados gadgets, que podem envolver múltiplos qubits e múltiplas operações. No diagrama, os gadgets são indicados por caixas roxas rotuladas com a preparação de estado, gate ou medição a ser implementada.

  2. Os qubits lógicos nos quais o circuito original e ideal é executado são protegidos usando um código de correção de erros quântico. Em vez de agir diretamente sobre esses qubits lógicos, os gadgets agem sobre os qubits físicos que os codificam. O diagrama sugere que cinco qubits físicos são usados para cada qubit lógico, como se o código de 55 qubits estivesse sendo usado, mas o número naturalmente pode ser diferente. Vale enfatizar que esses qubits lógicos nunca ficam expostos; eles passam toda a sua existência sendo protegidos pelo código de correção de erros quântico que escolhemos.

  3. A correção de erros é realizada repetidamente, como sugerido pelas caixas azuis rotuladas "EC" no diagrama, ao longo de toda a computação. É de extrema importância que isso seja feito tanto com frequência quanto em paralelo. À medida que os erros ocorrem, a entropia se acumula, e um trabalho constante é necessário para removê-la do sistema em uma taxa alta o suficiente para permitir que a computação funcione corretamente.

Portanto, existem escolhas específicas que devem ser feitas, incluindo a seleção dos gadgets e também o próprio código de correção de erros quântico. Depois que essas escolhas forem feitas e assumindo que um modelo de ruído específico foi adotado, há uma questão fundamental que podemos nos fazer: Isso está realmente ajudando? Ou seja, estamos melhorando as coisas, ou poderíamos estar piorando?

Se a taxa de ruído for muito alta, todo o processo sugerido pode muito bem estar piorando as coisas, assim como o código de Shor de 9 qubits piora as coisas para erros independentes se a probabilidade de erro em cada qubit estiver acima do ponto de equilíbrio. Se, no entanto, a taxa de ruído estiver abaixo de um certo limiar, todo esse trabalho extra nos levará a algum lugar — e, como discutiremos ao final da lição, caminhos se abrem para uma redução de erros ainda maior.