LOGO Kvatum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus Gyögyösi László BME Villamosméröki és Iormatikai Kar
Bevezető
Kvatum párhuzamosság Bármilye biáris üggvéyre, ahol { } { } : 0, 0,, létrehozható olya U uitér kvatumáramkör, amellyel elvégezhető az üggvéy által meghatározott művelet. Azaz, mide klasszikus redszerű művelet egyértelműe megeleltethető egy kvatum-traszormációak: U :, y, y ( ) biáris összeadás
Kvatum párhuzamosság Mire képes a megkostruált U kvatum-áramkörük? 0 A kvatumáramkör kimeete: U ( ) y y () ψ = U 0 = U 0 = 0, (0)
Kvatum párhuzamosság Egyetle lépésbe meghatározhatjuk a következő művelet értékét: (0) () Egy klasszikus redszerbe ehhez a következő lépéseket kellee végrehajtauk:. Az (0) értékéek kiszámítása. Az () értékéek kiszámítása 3. A két eredméy biáris összeadása Ahol az továbbra is: { 0,} { 0,} :
Kvatum párhuzamosság 0 H H H y U y () ψ 0 = 0 ψ = 0 + 0
Kvatum párhuzamosság 0 H H H y U y () ψ 0 + 0 ha (0) = (), ± = 0 0 ha (0) (), ±
Kvatum párhuzamosság 0 H H H y U y () A kapott eredméy átírása utá: ψ 3 0 = ± (0 ) () Azaz, megkaptuk a keresett műveleti értéket: ( 0) () Az kiegyesúlyozott vagy kostas? Egyetle lekérdezéssel megválaszoltuk.
Deutsch algoritmus
Deutsch algoritmus Az algoritmussal azo egyszerű kérdésre szereték választ kapi, hogy két kvatumbit értéke azoos-e, vagy pedig külöböző. A dötést pedig egyetle mérés alapjá hozzuk, kihaszálva a kvatummechaikai jeleségeket. = 0 0 0. + + = H : Hadamard traszormáció: H ( ) ( ) H 0 = ( 0 + ), H = ( 0 )
Deutsch algoritmus Az U kapu: U ( ) y = y. Az üggvéy kostas, vagy kiegyesúlyozott. Egy diszkrét halmazo értelmezett, { 0,} -re képző üggvéy akkor kiegyesúlyozott, ha a 0 és értéket ugyaayiszor vesz el. Akkor, ha a { 0,} { 0,} leképezés sorá az üggvéy a 0-t és az -et is egyszer veszi el, akkor az üggvéyük kiegyesúlyozott. Eltérő esetbe az üggvéy kostas, azaz kétszer veszi el a ullát vagy az egyet. Egy klasszikus redszerbe ahhoz, hogy megállapíthassuk azt, hogy az üggvéy kostas vagy pedig kiegyesúlyozott két mérés szükséges.
Deutsch algoritmus. A hálózat állapota a két Hadamard traszormáció utá: (( 0 ) ( 0 )) + = = ( 0 + ) ( 0 ).
Deutsch algoritmus Adott tehát az ( ) :0, { } { 0,} egybites üggvéy. Nyílvá csak két ilye üggvéy-osztály létezik. Abba az esetbe, ha az ( ) üggvéy kostas: Kostas Kostas be ki be ki X X* X* X* 0 0 0 0 () Ha az ( ) üggvéy em kostas: Kiegyesúlyozott Kiegyesúlyozott be ki be ki X X* X X* 0 0 0 0 Adott egy üggvéyt megvalósító ekete doboz, amely az Kostas vagy a kiegyesúlyozott üggvéyek egyikét valósítja meg. Melyik a megvalósított üggvéyosztály?
Deutsch algoritmus A égy külöböző üggvéyük: X ( ) ( ) 3 ( ) 4 ( ) 0 0 0 0 0 () Egy klasszikus redszerbe ahhoz, hogy eldöthessük, hogy mi a megvalósított üggvéy, két kérdés szükséges. A bemeetre 0-t, majd -et adva a kimeetekből egyértelműe eldöthető a kérdés. Kostruáljuk meg az üggvéyosztály ( y) reverzibilis változatát! * = Reverzibilis, :. * ( ) y = y
A belső orákulum működése
Deutsch algoritmus Az U belső elépítése: Ha Kostas, akkor: Kostas Reverzibilis be be ki ki X Y X* Y* 0 0 0 0 0 0 0 0 () X* Y* Kostas Reverzibilis be be ki ki X Y X* Y* 0 0 0 0 0 0 0 0 y U
Deutsch algoritmus Az Ha U belső elépítése: Kiegyesúlyozott, akkor: Kiegyesúlyozott Reverzibilis be be ki ki X Y X* Y* 0 0 0 0 0 0 0 0 () X* Y* Kiegyesúlyozott Reverzibilis be be ki ki X Y X* Y* 0 0 0 0 0 0 0 0 y U
Deutsch algoritmus A kapott eredméyek alapjá arra jutottuk, hogy midegyik üggvéy ivertálható Reverzibilis Azoba a ekete-doboz -t továbbra sem tudtuk eltöri, hisze az U kapu kimeetét a belső kimeet határozza meg. ( ) () X* Y* Még midig két mérés kell aak megállapításához, hogy eldöthessük a üggvéyről azt, hogy kostas vagy pedig kiegyesúlyozott. y Hogya oldhatjuk meg a problémát egy mérésből? U
Deutsch algoritmus Az U kapu bemeeteire a 0 és állapot szuperpozícióját adjuk: egyetle méréssel meghatározhatjuk, hogy a belső üggvéy melyik üggvéyosztályba tartozik. ( ) Az X bemetre H 0 = ( 0 + ) állapotot, Y-ra pedig a H = ( 0 ) szuperpoált állapotot adjuk. Bemeetek előállítása: Hadamard traszormációval, mid az, mid pedig az y szálo. y () X* Y* U
Deutsch algoritmus H 0 = 0 + ( ) () X* Y* * ( ) H X = ( ) ( 0) 0 + ( ) () H = 0 ( ) y U
Deutsch algoritmus Azaz, az X* kimeete a ( ) ( 0) 0 + ( ) () szuperpoált állapot jeleik meg, amiből megállapíthatjuk a belső üggvéyt. Ha ( 0) = ( ), akkor a belső üggvéy kostas: az Kostas üggvéy működési táblázata érvéyesül, így a kimeete a következő állapot jeleik meg: ( ) 0 ( ) 0 0 + = ( 0 + ). y () X* Y* U
Deutsch algoritmus Azaz, az X* kimeete a ( ) ( 0) 0 + ( ) () szuperpoált állapot jeleik meg, amiből megállapíthatjuk a belső üggvéyt. Ha ( 0) ( ). akkor a belső üggvéy kiegyesúlyozott: az Kiegyesúlyozott üggvéy működési táblázata érvéyesül, így a kimeete a következő állapot jeleik meg: ( ) 0 ( ) 0 + = ( 0 ). y () X* Y* U
Deutsch algoritmus Ha a kapott X* kimeetet egy Hadamard kapu bemeetére adjuk, akkor: ( *) H X = * ( ) H X = 0 + = 0, * H X ( 0 ) =. = Összeoglalás: X* Ha a Hadamard traszormáció eredméye 0 : a belső üggvéy kostas, azaz ( 0) ( ) =. () Y* Ha pedig a Hadamard traszormáció eredméye : a belső üggvéy kiegyesúlyozott, azaz ( 0) ( ). y U
Lépések részletezése
Lépések részletezése I. Hadamard-traszormációk: (( 0 ) ( 0 )) + = = 0 0 ( + ) ( ).
Lépések részletezése II. Belső üggvéy: U ( ) y = y = ( ) ( ) ( ) = U 0 = 0.
Lépések részletezése Ekkor, ha ( ) = 0: ( 0 ) ( ) ( 0 ) 0 ( 0 0 0 ) ( 0 ) 0 ( ) ( ) ( ) ( ) ( ) = = = = = = 0 = 0. Ha ( ) = : ( 0 ) ( ) ( 0 ) ( 0 ) ( 0 ) ( ) ( ) ( ) ( ) ( ) = = = = = = 0 = 0.
Mivel ( ) = 0 vagy ( ) U Lépések részletezése =, így: ( ) U ( 0 ) ( ) ( ) ( ) y = y = = = 0. U y = ( 0 + ) ( 0 ) = = U ( 0 + ) ( 0 ) = ( 0 + ) ( ( 0 ) ( ) ) = ( ) ( ( ) = 0 + ( ) ( 0 )) = ( ( ) = ( 0 + ) ( ) ) ( 0 ) = ( ( ) ( 0 ) ( ) () = 0 + ) ( 0 ).
Lépések részletezése A teljes bemeet tehát az -re és az y-ra adott szuperpozícióba lévő állapotok direkt szorzata jeleti: ( 0 + ) ( 0 ). A redszerük teljes állapota tehát az y U kapu utá így már megadható. Azoba, az ( ) üggvéy és így az U operátor is csak az = 0, bázisértékekre értelmezett, ezért a teljes bemeetből az bemeetet szétbotjuk bázisértékek szerit: ( 0 + ) ( 0 ) = = 0 ( 0 ) = = ( 0 ). = 0
Lépések részletezése Végrehajtva az U traszormációt: = = U F ( 0 ) ( 0 ) ( ) = 0 = 0 = 0 ( ) ( ) = = 0 ( ) ( ) ( ) ( ) = ( 0 ) 0 = = = = 0 ( ) ( ) ( 0 ) ( ) ( ) = = ( 0 ). = 0 = 0 Az utolsó előtti sorba látható átalakítás köye belátható a lehetséges ( ) = 0, értékek helyettesítésével, mivel: ( ) ( ) ( 0 ) ( ) 0 ( ) ( ) ( ) ( 0 ) y = = =. X * Y *
Lépések részletezése A kapott végeredméyt természetese kisebb átalakításokkal az előző eredméyre hozhatjuk: ( ) ( ) ( 0 ) = = 0 * X ( ( ) ( 0 ) ( ) () ) = 0 + ( 0 ) = X Y * * * Y X* ( ( ) ( 0 ) ( ) () = 0 + ) ( 0 ) = Y * () Y* ( ( ) ( 0 ) ( ) () = 0 + ) ( 0 ). y U
Lépések részletezése Az X* kimeete végrehajtott Hadamard traszormáció eredméye: ( ) ( ) ( ( ) ( 0 ) ( ) () 0 ) = + = = 0 * X ( ) ( 0 ) ( ) () = H 0 + H = ( ) ( 0 ) ( ) ( ) () = 0 ( 0 ) + + = ( ) ( 0 ) ( ) ( 0 ) ( ) () ( ) () = 0 0 + + = ( ) ( 0 ) ( ) () ( ) ( 0 ) ( ) () = 0 0 + + ( (( ) ( ) ( ) () ) (( ) ( ) ( ) () )) 0 0 = 0 + +.
Lépések részletezése Ha a belső üggvéy kostas, akkor a Hadamard traszormáció utá a első szál állapota: 0 =, akkor: Ha ( ) ( ) (( ) ( ) ( ) () ) ( ) ( ) ( ) () 0 0 0 + + = 0 ( (( ) ( ) ( ) () )) 0 = 0 + =± 0. Ha a belső üggvéyük kiegyesúlyozott, akkor ( 0) ( ) ( ) ( ) ( ) () 0 ( ( ) ( 0 ) ( ) () 0 + + ) = 0 ( (( ) ( ) ( ) () )) 0 = =±., így:
Deutsch-Jozsa algoritmus
Deutsch-Jozsa algoritmus A Deutsch-Jozsa algoritmus az előzőekbe bemutatott Deutsch algoritmus továbbejlesztéséek tekithető A ő változás a Deutsch algoritmushoz képest: az helyett szál vezérli. Az üggvéy ebbe az esetbe az { } { } : 0, 0, U kaput egy szál leképezést végzi, a belső üggvéy itt is csak a kostas vagy a kiegyesúlyozott üggvéyosztályból kerülhet ki. Mivel a bemeetük most em kétbites, így elképzelhető lee más üggvéyosztály is, azoba ezt mi rögzítettük a kostas és kiegyesúlyozott üggvéyosztályra.
Deutsch-Jozsa algoritmus A eladat ugyaaz, mit a Deutsch algoritmus esetébe: egyetle mérésből eldötei a belső üggvéy típusát. Egy klasszikus redszerbe ehhez + mérésre lee szükség. Az előző algoritmus alapjá elmodhatjuk, hogy ha az üggvéy kostas, akkor a megmért összes kotrollszál kimeetéek 0 -ak kell lei, ameyibe eze eltétel em tejesül, akkor a üggvéy kiegyesúlyozott.
Lépések részletezése. Mivel mide szálo található egy Hadamard kapu, így elsőkét eze traszormáció elvégzése következik. A traszormációt most azoba bitre kell elvégezi, így a teljes számítási báziso végre kell hajtauk a H traszormációt: H 0 H 0 H 0 H 0 = + + + + = ( 000 0 + 000 + + ) = = 0 + + + 3 + + = ( 0 ) ( 0 ) ( 0 ) ( 0 ) = = 0 =.
Lépések részletezése Alkalmazzuk a Hadamard traszormációt az alsó kezdőértékű szálra! ( 0 ). A redszer állapota ezutá tehát: = 0 ( 0 ).
Lépések részletezése. A következő lépésbe az szálas U F traszormáció végrehajtása következik, amelyek eredméye: ( ) ( ) ( ) = 0 0.
Lépések részletezése Ezutá ismét végrehajtjuk a Hadamard traszormációkat. A első szálat em a kezdeti 0 állapotba találjuk. A mérésük eredméye az y vektor lesz. A Hadamard traszormációt így elírhatjuk a következőképpe is: H = = 0 ( ) y y y H H ( ) ( 0 0 0 0 = 0 + = ( ) 0 + ( ) ), ( ) ( 0 = 0 = ( ) 0 + ( ) ).
Lépések részletezése Az egyetle kvatumbitre érvéyes ormulát kiterjesztve kvatumbitre: H H H H = 0 y y y ( ) 0 ( ) ( ) y0= 0 y= 0 y= 0 y ( ) y y = = 0 0 y0 y y = ( ) ( ) ( ) y y y y = 0 0 0 = y y y 0 = y = 0 ( ) y ( ) y, y yyy y = 0 ahol y = y y y y 0 0.
Lépések részletezése I. Hadamard traszormációk utái redszerállapot: II. U traszormáció végrehajtása: III. Hadamard traszormációk: = 0 ( ) 0. ( ) ( ) y ( ) y = 0 = y= 0 ( ) ( ) y = ( ) y= 0 = 0 y = ( ) ( ) + y = y. y= 0 = 0 ( ) ( ) ( 0 ) = 0
Lépések részletezése ( ) ( ) ( ) = y y = = 0 y= 0 ( ) ( ) ( ) = y y = y= 0 = 0 ( ) ( ) + = y y. y= 0 = 0
Lépések részletezése Mivel kiegyesúlyozott üggvéy esetébe mide kimeet 0 értékű, így: y= 0 = 0 ( ) ( ) ( ) 0 0 y y = 0 ( ) ( ) + = y 0. y= 0 = 0 Az -bites ulla kimeethez tartozó valószíűségi amplitúdó tehát: 0 = 0 ( ) ( ).
Lépések részletezése A 0 kimeet valószíűsége így: = 0 ( ) ( ), amely valószíűség : ha a belső üggvéy kostas; 0 : ha a belső üggvéy kiegyesúlyozott.
Összeoglalás Ha az üggvéy kostas : = 0 ( ) ( ) = ± ( ) =. Ha üggvéy kiegyesúlyozott : = 0 ( ) ( ) = ( + ) = 0.
Összeoglalás Összeoglalás Az algoritmus által szolgáltatott kimeet eredméyét a következőképpe oglalhatjuk össze: Ha az ( ) üggvéy kostas, akkor mide mérés eredméye 0. Egyébkét az ( ) üggvéy kiegyesúlyozott.
Kiegészítés: Kvatumáramkörök dekompozíciója
Az elemi kvatumáramkörök elépítése Uiverzális, reverzibilis kapu A végrehajtás sorá em veszítük iormációt A Tooli kapu a z értékét akkor módosítja, ha és y is : ( ) T, y, z = z y.
Elemi kvatumáramkörök Cotrolled CNOT (C NOT vagy Tooli kapu) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a b c a b ab c
Elemi kvatumáramkörök A Tooli kapu uiverzális, vele bármilye logikai kapu kialakítható. Ugyaakkor eze kapu, - elletétbe a klasszikus NAND kapuval, em veszít iormációt. Bármilye kvatumbites uitér művelet megvalósítható kvatumbites kapuk + két kvatumbites szabályozott NEM kapuk segítségével.
Deutsch kapu A Deutsch-kapu a Tooli-kapu ötleté alapul. A kapu eredméye egy θ szöggel törtéő ázisorgatás az tegely körül. R i( θ/) σx θ θ = ie = i cos + iσ X si.
Deutsch kapu A három kvatumbites Deutsch-kapu szité uiverzális kapu, Működési elve a Tooli-kapura épül A Deutsch-kapu elépíthető két kvatumbites elemi kapukból is. R i( θ/) σx θ θ = ie = i cos + iσ X si.
Deutsch kapu dekompozíciója Az áramkört leegyszerűsíthetjük egy (C-(CU )) kapura, így egy C-CU kaput kapuk. Legye U = R, azaz: U = ir θ = ie R ( ) iπ ( ) / U = e iπ /4 R θ /. ( ) e R -ak választjuk, akkor a Deutsch kaput valósítottuk meg CNOT és U kapuk kombiációjakét. iπ /4 Azaz, ha az U traszormációt U = ( θ /) θ,
Elemi kvatumkapuk elbotása Cél: elemi kotrollált-u kapuk elépítése CNOT és egy-kvatumbites uitér kapukból.. Ha = 0 üggvéye, így y : CNOT kapuk iaktívak, az y szál értéke pedig a A,B és C kapuk CBA y. Ha ABC =, y értéke változatla marad. ha A uitér, akkor B és értékét megválaszthatjuk úgy, hogy midkettő, egyarát A legye, így: C kapuk ABC A A A AA = = =.
Elemi kvatumkapuk elbotása Abba az esetbe, ha = Azaz, NOT y, a CNOT kapuk aktivizálódak: 0 B 0 = σ B NOT. = σ, így az y vektor kezdeti értéke a következőképpe módosul: A σ A σ A y, ahol A A A uitér traszormáció, akkor, ha az A is uitér. σ σ = U Összeoglalva: két kvatumbites CNOT kapuk, és kvatumbites uitér kapuk segítségével leírható bármilye uiverzális kvatumszámítás.