Przejdź do głównej treści

Supergęste kodowanie

Supergęste kodowanie to protokół, który w pewnym sensie realizuje cel komplementarny do teleportacji. Zamiast umożliwiać przesyłanie jednego kubitu przy użyciu dwóch klasycznych bitów komunikacji (kosztem jednego e-bitu splątania), pozwala na przesłanie dwóch klasycznych bitów przy użyciu jednego kubitu komunikacji kwantowej (również kosztem jednego e-bitu splątania).

Dokładniej rzecz biorąc, mamy nadawcę (Alice) i odbiorcę (Bob), którzy współdzielą jeden e-bit splątania. Zgodnie z konwencjami przyjętymi w tej lekcji oznacza to, że Alice posiada kubit A,\mathsf{A}, Bob posiada kubit B,\mathsf{B}, a para (A,B)(\mathsf{A},\mathsf{B}) łącznie jest w stanie ϕ+.\vert\phi^+\rangle. Alice chce przesłać Bobowi dwa klasyczne bity, które oznaczymy przez cc i d,d, i dokona tego, wysyłając mu jeden kubit.

Można by uznać ten wyczyn za mniej interesujący niż to, co osiąga teleportacja. Wysyłanie kubitów będzie w dającej się przewidzieć przyszłości prawdopodobnie znacznie trudniejsze niż wysyłanie klasycznych bitów, więc wymiana jednego kubitu komunikacji kwantowej na dwa bity komunikacji klasycznej, na dodatek kosztem e-bitu, ledwo wydaje się tego warta. Nie oznacza to jednak, że supergęste kodowanie jest nieinteresujące — wręcz przeciwnie.

Nawiązując do tematu lekcji, jednym z powodów, dla których supergęste kodowanie jest interesujące, jest to, że demonstruje konkretne i (w kontekście teorii informacji) dość uderzające zastosowanie splątania. Znane twierdzenie w kwantowej teorii informacji, zwane twierdzeniem Holevo, implikuje, że bez użycia współdzielonego splątanego stanu niemożliwe jest przekazanie więcej niż jednego bitu informacji klasycznej przez wysłanie pojedynczego kubitu. (Twierdzenie Holevo jest bardziej ogólne. Jego precyzyjne sformułowanie jest techniczne i wymaga wyjaśnienia, ale jest to jedna z jego konsekwencji.) A zatem dzięki supergęstemu kodowaniu współdzielone splątanie efektywnie pozwala na podwojenie pojemności informacyjnej kubitów w odniesieniu do informacji klasycznej.

Protokół

Poniższy diagram obwodu kwantowego opisuje protokół supergęstego kodowania:

Superdense coding circuit

Słowami — oto co robi Alice:

  1. Jeśli d=1,d=1, Alice wykonuje bramkę ZZ na swoim kubicie A\mathsf{A} (jeśli d=0d=0, nie robi nic).

  2. Jeśli c=1,c=1, Alice wykonuje bramkę XX na swoim kubicie A\mathsf{A} (jeśli c=0c=0, nie robi nic).

Alice następnie wysyła swój kubit A\mathsf{A} do Boba.

Gdy Bob odbiera kubit A\mathsf{A}, najpierw wykonuje bramkę CNOT, gdzie A\mathsf{A} jest kubitem kontrolnym, a B\mathsf{B} jest kubitem docelowym, a następnie stosuje bramkę Hadamard do A.\mathsf{A}. Potem mierzy B\mathsf{B}, aby uzyskać cc, i A\mathsf{A}, aby uzyskać dd — w obu przypadkach stosując pomiary w standardowej bazie.

Analiza

Idea stojąca za tym protokołem jest dość prosta: Alice w praktyce wybiera, w jakim stanie Bell chciałaby współdzielić z Bobem, wysyła mu swój kubit, a Bob mierzy, żeby ustalić, jaki stan Bell wybrała Alice.

Oznacza to, że początkowo współdzielą ϕ+,\vert\phi^+\rangle, a w zależności od bitów cc i dd Alice albo pozostawia ten stan bez zmian, albo przesuwa go do jednego z pozostałych stanów Bell, stosując do swojego kubitu A\mathsf{A} operację I,\mathbb{I}, X,X, ZZ lub XZ.XZ.

(II)ϕ+=ϕ+(IZ)ϕ+=ϕ(IX)ϕ+=ψ+(IXZ)ϕ+=ψ\begin{aligned} (\mathbb{I} \otimes \mathbb{I}) \vert \phi^+ \rangle & = \vert \phi^+\rangle \\ (\mathbb{I} \otimes Z) \vert \phi^+ \rangle & = \vert \phi^-\rangle \\ (\mathbb{I} \otimes X) \vert \phi^+ \rangle & = \vert \psi^+\rangle \\ (\mathbb{I} \otimes XZ) \vert \phi^+ \rangle & = \vert \psi^-\rangle \end{aligned}

Działania Boba mają następujące efekty na czterech stanach Bell:

ϕ+00ϕ01ψ+10ψ11\begin{aligned} \vert \phi^+\rangle & \mapsto \vert 00\rangle\\ \vert \phi^-\rangle & \mapsto \vert 01\rangle\\ \vert \psi^+\rangle & \mapsto \vert 10\rangle\\ \vert \psi^-\rangle & \mapsto -\vert 11\rangle\\ \end{aligned}

Można to sprawdzić bezpośrednio, obliczając wyniki operacji Boba na tych stanach po jednym na raz.

Kiedy Bob wykonuje swoje pomiary, jest więc w stanie ustalić, który stan Bell wybrała Alice. Weryfikacja poprawności działania protokołu sprowadza się do sprawdzenia każdego przypadku:

  • Jeśli cd=00,cd = 00, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob odbiera A\mathsf{A}, wynosi ϕ+.\vert \phi^+\rangle. Przekształca on ten stan w 00\vert 00\rangle i uzyskuje cd=00.cd = 00.

  • Jeśli cd=01,cd = 01, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob odbiera A\mathsf{A}, wynosi ϕ.\vert \phi^-\rangle. Przekształca on ten stan w 01\vert 01\rangle i uzyskuje cd=01.cd = 01.

  • Jeśli cd=10,cd = 10, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob odbiera A\mathsf{A}, wynosi ψ+.\vert \psi^+\rangle. Przekształca on ten stan w 10\vert 10\rangle i uzyskuje cd=10.cd = 10.

  • Jeśli cd=11,cd = 11, to stan (B,A)(\mathsf{B},\mathsf{A}) w chwili, gdy Bob odbiera A\mathsf{A}, wynosi ψ.\vert \psi^-\rangle. Przekształca on ten stan w 11-\vert 11\rangle i uzyskuje cd=11.cd = 11. (Czynnik fazowy minus jeden nie ma tu żadnego efektu.)