Bernstein-Vaziraniho algoritmus je kvantový algoritmus , který řeší problém nalezení -bitového čísla (v zahraniční literatuře se také používá termín skrytý řetězec [1] ) skrytého v černé skříňce . Navrhli Ethan Bernstein a Umesh Wazirani v roce 1993 . Tento algoritmus řeší problém mnohem rychleji, než je možné v nekvantové formulaci . Algoritmus lze použít v databázích , útoky na blokové šifry , testy výkonu pro kvantové počítače , byl implementován na 5- a 16-qubitových kvantových počítačíchIBM .
Algoritmus navrhl profesor Berkeley Vazirani a jeho student Ethan Bernstein Moderní zdroje se při popisu algoritmu zpravidla odvolávají na projev Bernsteina a Vaziraniho [2] na sympoziu o teorii počítání v roce 1993 [3] . Algoritmus Bernstein-Vazirani je rozšířenou verzí Deutsch-Yozhiho algoritmu , protože místo určení, zda funkce patří do určité třídy - vyvážené nebo konstantní (to znamená, že pro všechny argumenty nabývá hodnotu 0 nebo 1) - Algoritmus najde "skrytý" vektor, který vám umožní jednoznačně určit hodnotové funkce v libovolném bodě [4] .
Bernstein-Vaziraniho algoritmus v problému demonstruje, že řeší mezeru mezi klasickými a kvantovými algoritmy z hlediska co nejmenšího požadovaného počtu požadavků na orákulum (černá skříňka). I když povolíte použití pravděpodobnostních algoritmů (s předem omezenou pravděpodobností chyby), řešení klasického problému bude vyžadovat volání orákula, zatímco v kvantovém algoritmu stačí zavolat [5] .
Uvažujme orákulum, které převádí -bitové číslo na jeden bit, tj .
Navíc , kde je skalární součin tvaru: . Uvažujeme, že jedno volání funkce se provádí v konstantním čase.
Je potřeba najít [1] .
Příkaz problému v kvantovém modelu je podobný, ale přístup k orákulu v něm není prováděn přímo prostřednictvím funkce , ale prostřednictvím lineárního operátora působícího na systém qubitů :
,kde je ket vektor odpovídající kvantovému stavu , je vektor podprsenky odpovídající kvantovému stavu , je Kroneckerův produkt a je modulo 2 sčítání .
Kvantové stavy a odpovídají vektorům a . Vektor pro stav kloubu lze reprezentovat jako součin [6] .
Podobně jako v klasickém případě se předpokládá, že volání do orákula, které vypočítává výsledek aplikace operátora na vstupní systém z qubit , probíhá v konstantním čase.
V kvantovém případě, stejně jako v klasickém případě, se předpokládá, že , a je třeba najít [1] .
V klasickém případě každé volání věštce vrací jeden bit čísla , takže k nalezení -bitového čísla musíte volat věštecké časy. Níže je uvedena varianta volání orákula, která vám umožní úplné obnovení [1] :
Počet volání do orákula v klasickém případě je , kde je počet bitů čísla . Jednoduchá informačně-teoretická úvaha může ukázat, že tuto hranici nelze zlepšit ani v rámci třídy BPP [1] .
Algoritmus je založen na n-qubit Hadamardově operátoru :
A také to, že aplikace operátoru na stav formuláře , kde výsledkem je hodnota [1] .
Krok za krokem lze činnost algoritmu znázornit následovně [1] :
Výsledkem měření vstupního registru bude hodnota [1] . V kvantové formulaci problému tedy stačí odkázat na orákulum. Obecně platí, že konstrukce a použití orákula vyžaduje logické prvky , ale to se při analýze algoritmu v tomto modelu nebere v úvahu, protože pro něj je významný pouze počet volání do orákula [1] . Algoritmus v této podobě byl implementován na 5- a 16-qubitových počítačích IBM [1] , je možné sestavit i optický systém , který algoritmus implementuje [7] .
V jakékoli praktické implementaci Bernstein-Vaziraniho algoritmu je hlavním problémem vytvoření věštce, protože konstrukce a použití věštce vyžaduje logický prvek . [jeden]
Kromě složitosti stavby orákula provázejí praktickou realizaci problémy s přesností. Systém byl testován na 1-, 2- a 3-bitových řetězcích, na kterých simulátor IBM-Qiskit správnou se 100% přesností Poté bylo provedeno testování 1- a 2-bitových řetězců na 5-qubitovém stroji ibmqx4 a 16-qubitovém stroji ibmqx5, kde byly zaznamenány chyby ve výpočtu a velká odchylka od očekávaného výsledku [1] .
Algoritmus Bernstein-Wazirani lze použít:
kvantová informatika | |||||||||
---|---|---|---|---|---|---|---|---|---|
Obecné pojmy |
| ||||||||
kvantové komunikace |
| ||||||||
Kvantové algoritmy |
| ||||||||
Kvantová teorie složitosti |
| ||||||||
Kvantové výpočetní modely |
| ||||||||
Prevence dekoherence |
| ||||||||
Fyzické implementace |
|