Deutsch-Yozhi algoritm

Deutsch-Joja-algoritmen (även kallad Deutsch-Joza-algoritmen ) är en kvantalgoritm som föreslagits av David Deutsch och Richard Joja 1992 , och en av de första kvantalgoritmerna . Algoritmen är baserad på fenomenet kvantentanglement och superpositionsprincipen , på grund av vilken den visar kvantöverlägsenhet  - mycket effektivare drift i jämförelse med kända klassiska algoritmer.

Deutschs algoritm  är den första versionen av algoritmen utvecklad av Deutsch 1985 ; den betraktar en funktionav en variabel.

Utmana

Det är känt att en boolesk funktion är konstant (den tar samma värde för alla argumentuppsättningar) eller balanserad (för hälften av argumentuppsättningarna tar den värdet , för den andra halvan tar den ). Det är nödvändigt att bestämma typen av funktionen genom att referera till oraklet som utvärderar funktionen så få gånger som möjligt. Vidare, för korthetens skull, kan hela uppsättningen också betecknas med ett tal från till med motsvarande binära notation .

För att få ett exakt svar behöver varje klassisk deterministisk algoritm i värsta fall göra anrop till oraklet, eftersom de första beräkningarna kan ge samma värde, trots att funktionen är balanserad. Den klassiska probabilistiska algoritmen kommer att kräva färre beräkningar för att garantera en hög sannolikhet att få rätt svar, men den kommer också att nå enhet först efter inte mindre än beräkningar.

I kvantinställningen sker beräkningen av en funktion i form av ett anrop till ett kvantorakel , vilket ger en enhetlig transformation som verkar på en uppsättning qubits som fungerar som argument för funktionen, såväl som en mål-qubit , på som beräkningarna kommer att återspeglas. Resultatet av en sådan transformation för varje egentillstånd är mängden , där är beteckningen för det exklusiva "eller" , motsvarande resultatet av driften av kontrollerad negation av en qubit med hjälp av en qubit . Eftersom enhetstransformationer är linjära definieras resultatet av en given transformation för en superposition av egentillstånd som

För Deutsch-Jozhi-algoritmen räcker ett enda anrop till kvantorakelet för att tillförlitligt lösa problemet.

Algoritm

Algoritmen är baserad på Hadamard-transformen , som resulterar i superpositioner av qubit -egentillstånd

Om, vid åtkomst till oraklet, mål-qubiten är i tillståndet , implementerar oraklet den så kallade fasfrågan, vars resultat för egentillstånd är att multiplicera hela tillståndet med [1] :

Således, i fallet med överlagring av tillstånd, inverterar fasfrågan fasen för alla tillstånd som motsvarar , och lämnar tillstånden som motsvarar oförändrade . Som ett fasfrågeargument använder Deutsch-Joji-algoritmen tillståndet

som är en enhetlig överlagring av alla egentillstånd för en uppsättning qubits. Här betecknar exponentiering genom en tensor (Kronecker) produkt . Resultatet av att tillämpa en fasfråga på ett sådant tillstånd är

Efter återapplicering av transformationen på de första kvantbitarna kommer tillståndsamplituden att vara lika med

det vill säga med eller med , eller om funktionen är balanserad. Att kontrollera balansen för en funktion är alltså likvärdigt med att kontrollera att alla qubits är i tillståndet i slutet av algoritmen.

Algoritmen är med andra ord tillämpningen av operatorn på nollvektorn och mätningen av registrets tillstånd. Om alla registerbitar är lika beror värdet på funktionen inte på , annars är funktionen balanserad.

Om funktionen är obalanserad kan algoritmen ge svaret "konstant" med en sannolikhet som växer med ökningen av skillnaden mellan antalet "0" och "1" [2] .

Funktionen av algoritmen på exemplet med Deutsch-problemet

Indata till algoritmen är en boolesk funktion av en variabel . Det finns fyra sådana funktioner [1] :

Nej.
ett 0 0
2 ett ett
3 0 ett
fyra ett 0

Funktionerna 1 och 2 är konstanta och funktionerna 3 och 4 är balanserade.

I det första steget ges qubiten ett nolltillstånd:

Att tillämpa Hadamard-transformen ger

I princip skulle det vara möjligt att omedelbart tilldela ett sådant tillstånd till en qubit, men tekniskt sett är det lättare att först ställa in nolltillståndet och sedan transformera det med hjälp av enhetstransformationer till önskad form.

Ett fasanrop till en funktion ger följande tillstånd:

Den andra Hadamard-transformationen leder till följande tillstånd:

När vi mäter tillståndet för en qubit får vi 0 för konstanta funktioner och 1 för balanserade:

Nej. qubit-tillstånd Sannolikhet
att få 0
Sannolikhet
att få 1
ett
2
3
fyra

Litteratur

Anteckningar

  1. 1 2 M. Trögt . Quantum Algorithms: Opportunities and Limitations, Föreläsning 2 ( Arkiverad 10 juni 2011 på Wayback Machine ), sid. 12-13. - St. Petersburg, våren 2011.
  2. M. Trögt . Quantum Algorithms Lecture 2 Arkiverad 26 april 2013 på Wayback Machine .