Algorytm Deutscha-Jozsy

Z Wikipedii, wolnej encyklopedii

Algorytm Deutscha-Jozsyalgorytm kwantowy utworzony przez Dawida Deutscha i Richarda Jozsa w 1992[1] poprawiany później przez Richarda Cleve, Artura Ekerta, Chiarę Macchiavello i Michele Mosca w 1998[2]. Sam algorytm nie ma dużej wartości praktycznej – jest to jeden z pierwszych przykładów algorytmu kwantowego, który jest wykładniczo szybszy od każdego możliwego deterministycznego, klasycznego algorytmu. Algorytm Deutscha-Jozsy jest również deterministyczny, to znaczy zawsze zwraca poprawną odpowiedź.

Sformułowanie problemu[edytuj | edytuj kod]

W problemie Deutscha-Jozsy mamy "czarną skrzynkę", która tworzy funkcję taką że:

  • jest funkcją stałą (tj. wszystkie wartości ma równe 0 albo wszystkie wartości ma równe 1) lub
  • jest funkcją zbalansowaną[3] (tj. przypisuje wartości 0 oraz 1 tak, że jest tyle samo wartości 0 co 1).

Innymi słowy: "czarna skrzynka" generuje n bitów w taki sposób, że (1) wszystkie bity są równe 0 albo wszystkie bity są równe 1, (2) albo 0 i 1 są wygenerowane w równych ilościach, ale w dowolnej kolejności.

Zadanie polega na określeniu, czy jest stała, czy zbalansowana.

Klasyczny algorytm[edytuj | edytuj kod]

Deterministyczny algorytm rozwiązujący problem Deutscha-Jozsy wymaga w najgorszym przypadku ewaluacji funkcji gdzie jest liczbą bitów. Aby udowodnić, że jest stała, potrzebne jest obliczenie funkcji w n/2+1 punktów. W najlepszym przypadku, jeżeli już pierwsze dwie sprawdzone wartości funkcji będą różne, to dowodzi, że jest zbalansowana. Konwencjonalny algorytm randomizowany wymaga wykonania ewaluacji funkcji, aby uzyskać poprawną odpowiedź z dużym prawdopodobieństwem (błąd z prawdopodobieństwem ). Aby na pewno uzyskać poprawną odpowiedź (algorytm deterministyczny), wymagane jest wyznaczenie wartości funkcji. Algorytm Deutscha-Jozsy zwraca zawsze poprawną odpowiedź już po jednej ewaluacji funkcji

Historia[edytuj | edytuj kod]

Algorytm Deutscha-Jozsy jest uogólnieniem wcześniejszej (1985) pracy Dawida Deutscha, która pokazuje rozwiązanie prostszego problemu. Konkretnie, mamy daną funkcję binarną, której dziedziną jest 1 bit: i pytamy, czy jest stała[4].

Algorytm proponowany początkowo przez Deutscha nie był właściwie deterministyczny. Algorytm dawał poprawną odpowiedź z prawdopodobieństwem 50%. W 1992, Deutsch i Jozsa wymyślili deterministyczny algorytm, który został uogólniony na przypadek funkcji, której argumentem jest bitów. W przeciwieństwie do aktualnego algorytmu, wymagał on dwukrotnego obliczenia wartości funkcji.

Późniejsze ulepszenia algorytmu Deutscha wprowadził Cleve (i inni)[2], czego efektem było powstanie deterministycznego algorytmu, który wymaga jednokrotnej ewaluacji funkcji Temu algorytmowi nadano imiona Deutscha-Jozsy, aby uczcić innowacyjne zmiany wprowadzone przez tych naukowców[2].

Algorytm Deutscha-Jozsy stanowił inspirację dla algorytmu Shora i Grovera, dwóch najbardziej rewolucyjnych algorytmów kwantowych[5][6].

Dekoherencja[edytuj | edytuj kod]

Aby algorytm Deutscha-Jozsy działał, wyrocznia obliczająca z musi być wyrocznią kwantową, która nie dokonuje dekoherencji Wyrocznia w swoim wywołaniu musi również niszczyć informację o stanie

Algorytm Deutscha[edytuj | edytuj kod]

Algorytm Deutscha to szczególny przypadek algorytmu Deutscha-Jozsy. Sprawdza się w nim warunek: Jest to równoważne sprawdzeniu (gdzie to dodawanie modulo 2, na które można patrzeć jak na kwantową bramkę XOR zaimplementowaną jako kontrolowana bramka NOT) – jeśli wyjdzie zero, to jest stała, w przeciwnym przypadku nie jest stała.

Algorytm zaczyna się ustaleniem dwubitowego stanu A: i zaaplikowaniu przekształcenia Hadamarda do każdego kubitu, co daje stan B:

Dana jest kwantowa implementacja funkcji która przekształca w Zastosowanie tej funkcji do stanu B daje:

Ignorujemy ostatni bit i z dokładnością do globalnego czynnika fazowego (przemnożenia całości przez ) otrzymujemy stan:

Zastosujmy do każdego kubitu tego stanu bramkę Hadamarda; bramka ta tworzy następujące superpozycje stanów bazowych i  :

Działając bramkami Hadamarda na każdy kubit otrzyma się stan:

wtedy i tylko wtedy, jeśli zmierzono 0, a wtedy i tylko wtedy, jeśli zmierzono 1. Wynika z tego, iż z prawdopodobieństwem równym 100% wiemy, czy jest stała, czy zbalansowana.

Algorytm Deutscha-Jozsy[edytuj | edytuj kod]

Ustalmy kubitowy stan A: (pierwsze bitów jest w stanie a ostatni ). Do każdego kubitu A stosowana jest bramka Hadamarda, która z każdego kubitu tworzy superpozycję; w wyniku czego powstaje stan B:

Obwód kwantowy algorytmu Deutscha-Jozsy

Następnie, kwantowa wyrocznia przekształca stan w co daje:

Po podstawieniu w miejsce oraz ten wzór przekształca się do:

W tym momencie stan ostatniego kubitu może zostać zignorowany. Po zastosowaniu przekształceń Hadamarda ponownie na pierwszych bitach otrzyma się:

gdzie

Prawdopodobieństwo zmierzenia stanu wynosi:

Wyrażenie to przyjmuje wartość 1, jeśli funkcja jest stała (interferencja konstruktywna). Jeżeli zaś funkcja jest zbalansowana, to przyjmuje wartość 0 (interferencja destruktywna).

Przypisy[edytuj | edytuj kod]

  1. David Deutsch and Richard Jozsa. Rapid solutions of problems by quantum computation. „Proceedings of the Royal Society of London A”. 439, s. 553, 1992. DOI: 10.1098/rspa.1992.0167. Bibcode1992RSPSA.439..553D. 
  2. a b c R. Cleve, A. Ekert, C. Macchiavello, M. Mosca. Quantum algorithms revisited. „Proceedings of the Royal Society of London A”. 454, s. 339–354, 1998. DOI: 10.1098/rspa.1998.0164. arXiv:quant-ph/9708016. Bibcode1998RSPSA.454..339C. 
  3. Certainty from Uncertainty. fortunecity.com. [zarchiwizowane z tego adresu (2001-11-24)]..
  4. David Deutsch. The Church-Turing principle and the universal quantum computer. „Proceedings of the Royal Society of London A”. 400, s. 97, 1985. DOI: 10.1098/rspa.1985.0070. Bibcode1985RSPSA.400...97D. 
  5. A fast quantum mechanical algorithm for database search, [w:] Lov K. Grover, Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, 1996, s. 212–219, DOI10.1145/237814.237866, ISBN 0-89791-785-5, arXiv:quant-ph/9605043.
  6. Algorithms for quantum computation: discrete logarithms and factoring. W: Peter W. Shor: Proceedings of the 35th IEEE Symposium on Foundations of Computer Science. 1994, s. 124–134. DOI: 10.1109/SFCS.1994.365700.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]