Jak działa operator dyfuzji Grovera i dlaczego jest optymalny?

15

W tej odpowiedzi wyjaśniono algorytm Grovera. Wyjaśnienie wskazuje, że algorytm w dużej mierze opiera się na operatorze dyfuzji Grovera , ale nie podaje szczegółów na temat wewnętrznych działań tego operatora.

W skrócie, operator dyfuzji Grovera tworzy „inwersję względem średniej”, aby iteracyjnie sprawić, że drobne różnice we wcześniejszych krokach są wystarczająco duże, aby były mierzalne.

Pytania są teraz:

  1. W jaki sposób operator dyfuzji Grovera to osiąga?
  2. Dlaczego wynikowy w czasie całkowitym do przeszukania nieuporządkowanej bazy danych jest optymalny?O(n)
Dyskretna jaszczurka
źródło
1
Tylko komentarz do drugiego pytania. Istnieją prace mające na celu wykazanie, że ślad stanu w algorytmie Grovera przebiega dokładnie według geodezyjnego połączenia stanu początkowego algorytmu ze stanem docelowym. To jest optymalne.
XXDD,

Odpowiedzi:

5

Ponieważ oryginalne pytanie dotyczyło opisu laika, oferuję nieco inne rozwiązanie, być może łatwiejsze do zrozumienia (zależne od tła), oparte na ciągłym czasie ewolucja. (Nie udaję jednak, że nadaje się dla laika).

Zaczynamy od stanu początkowego, który jest jednolitą superpozycją wszystkich stanów, a my staramy się znaleźć stan który można rozpoznać jako poprawną odpowiedź (zakładając, że istnieje dokładnie jeden taki stan, chociaż można go uogólnić). Aby to zrobić, ewoluujemy w czasie pod wpływem hamiltonowskiego Naprawdę piękną cechą poszukiwań Grovera jest to, że w tym momencie możemy zredukować matematykę do podprzestrzeni składającej się tylko z dwóch stanów , zamiast wymagać wszystkich . Łatwiej jest to opisać, jeśli stworzymy ortonormalną podstawę z tych stanów, gdzie | xH=| xx| +| * F* F| . {| x,| * F}2n{| x,| * F}| * F=1

|ψ=12ny{0,1}n|y
|x
H=|xx|+|ψψ|.
{|x,|ψ}2n{|x,|ψ}e-iHt| * FE-It(I+2-nZ+
|ψ=12n1y{0,1}n:yx|y.
Na tej podstawie ewolucję czasu można zapisać jako gdzie i są standardowymi macierzami Pauliego. Można to przepisać jako Jeśli więc ewoluujemy przez jakiś czaseiHt|ψXZe-it(Icos(t
mi-jat(ja+2)-nZ+2)n-12)nX)(12)n1-12)n),
XZt=π
mi-jat(jasałata(t2)n/2))-ja12)n/2)grzech(t2)n/2))(Z+X2)n-1))(12)n1-12)n).
t=π22n/2i ignorując fazy globalne, stanem końcowym jest Innymi słowy, z prawdopodobieństwem 1 otrzymujemy stan którego szukaliśmy. Zwykle oparty na obwodzie opis poszukiwania Grovera to tak naprawdę ta ciągła ewolucja czasu podzielona na dyskretne kroki, z niewielką wadą, że zwykle nie można uzyskać dokładnie 1 prawdopodobieństwa dla wyniku, tylko bardzo blisko niego.
12n/2(Z+X2n1)(12n112n)=(12n2n12n)+(112n2n12n)=(10).
|x

Jedno zastrzeżenie jest następujące: możesz przedefiniować i ewoluować używając a czas ewolucji byłby 5 razy krótszy. Jeśli chcesz być naprawdę radykalny, zamień 5 na , a wyszukiwanie Grovera trwa w stałym czasie! Ale nie wolno ci tego robić arbitralnie. Dowolny eksperyment miałby ustaloną maksymalną siłę sprzęgania (tj. Stały mnożnik). Różne eksperymenty mają różne czasy działania, ale ich skalowanie jest takie samo, . To tak, jakby powiedzieć, że koszt bramki w modelu obwodu jest stały, zamiast zakładać, że jeśli użyjemy obwodu o głębokości każdą bramę można uruchomić w czasie .H~=5HH~2n/22n/2k1/k

Dowód optymalności zasadniczo polega na wykazaniu, że wykrycie jednego możliwego oznaczonego stanu jeszcze szybciej, spowoduje wykrycie innego oznaczonego stanu , wolniej. Ponieważ algorytm powinien działać równie dobrze bez względu na zaznaczony stan, to rozwiązanie jest najlepsze.|x|y

DaftWullie
źródło
4

Jednym ze sposobów zdefiniowania operatora dyfuzji jest 1 , gdzie jest wyrocznią fazowąD=HnU0HnU0

U0|0n=|0n,U0|x=|xfor|x|0n.

To pokazuje, że można również zapisać jako, co daje gdzie .U0U0=I2|0n0n|

D=2|++|I,
|+=2n/2(|0+|1)n

Zapisywanie stanu gdzie jest ortogonalne do (tj. daje, że .|ψ=α|++β|+|+|+++=0)D|ψ=α|+β|+

Daje to 2, że operator dyfuzji jest refleksją na temat|+

Ponieważ druga część algorytmu Grovera jest również odbiciem, łączą się one, aby obrócić aktualny stan bliżej wartości „poszukiwanej” . Kąt ten zmniejsza się liniowo wraz z liczbą obrotów (do momentu przekroczenia poszukiwanej wartości), co powoduje, że prawdopodobieństwo prawidłowego pomiaru prawidłowej wartości rośnie kwadratowo.x0

Bennet i in. glin. pokazał, że jest to optymalne. Stosując klasyczne rozwiązanie problemu NP, algorytm Grovera można wykorzystać do kwadratowego przyspieszenia tego. Jednak biorąc język dla funkcji zachowania długości (tutaj, wyrocznia), dowolna ograniczona- błąd kwantowej maszyny Turinga nie może zaakceptować tego języka w czasie .LA={y:xA(x)=y}AT(n)=o(2n/2)

Osiąga się to poprzez pobranie zestawu wyroczni, w których nie ma odwrotności (więc nie jest zawarte w języku). Jest to jednak zawarte w nowym języku z definicji. Różnica w prawdopodobieństwach maszyny akceptującej i innej maszyny akceptującej w czasie jest wówczas mniejsza niż więc żaden język nie jest akceptowany, a algorytm Grovera jest rzeczywiście asymptotycznie optymalny. 3)|1nLAyLALAyT(n)1/3

Zalka później wykazał, że algorytm Grovera jest dokładnie optymalny.


1 W algorytmie Grovera znaki minus można przesuwać dookoła, więc tam, gdzie jest znak minus, jest nieco arbitralne i niekoniecznie musi być w definicji operatora dyfuzji

2 alternatywnie, zdefiniowanie operatora dyfuzji bez znaku minus daje refleksję na temat|+

3 Zdefiniowanie maszyny używającej wyroczni jako i maszyny używającej wyroczni jako , wynika to z faktu, że istnieje zbiór ciągów bitów, w których stany i w czasie są zamknij 4 , z licznością . Każdą wyrocznię, w której poprawnie decyduje, czy jest w można odwzorować na wyrocznie, gdzie zawodziAMAAyMAySMAMAytϵ<2T2/ϵ2MA|1nLA2nCard(S)MA aby poprawnie zdecydować, czy jest w języku tej wyroczni. Musi jednak podać jedną z pozostałych potencjalnych odpowiedzi, więc jeśli , maszyna nie jest w stanie określ członkostwo w .|1n2n1T(n)=o(2n/2)LA

4 Używając odległości euklidesowej, dwukrotnie odległość śladu

Mithrandir24601
źródło