STUDIA INFORMATICA 3 Volme 34 Nmber 3 (3) Joaa WIŚNIEWSKA Wojskowa Akademia Techicza, Istytt Systemów Iformatyczych IMPLEMENTACJA FUNKCJI LOGICZNYCH ZA POMOCĄ SIECI BRAMEK KWANTOWYCH Streszczeie. W poiższym artykle podiesioy został problem modelowaia fkcji logiczych za pomocą kwatowych obwodów itarych bez korzystaia z tzw. kwatowych bitów pomociczych. Podao algorytm opisjący tworzeie postaci macierzowej operatora kwatowego, za pomocą którego moża wyzaczyć wartość fkcji logiczych zmieych, a także wskazao, w jaki sposób skostrować sieć zaych bramek kwatowych realizjącą działaie wspomiaego operatora. Słowa klczowe: fkcje logicze, bramki kwatowe, macierze itare THE BOOLEAN FUNCTIONS IMPLEMENTATION WITH USE OF QUANTUM GATES CIRCUIT Smmary. The followig pblicatio cocers o Boolea fctios modellig with se of qatm gates, bt withot so-called acilla qbits. First, the algorithm of matri form calclatig for qatm operator is preseted metioed operator may be sed to determie the vale of Boolea fctio. Net, it is show how to costrct qatm gates circit solvig give problem. Keywords: logic fctios, qatm gates, itary matrices. Wstęp Dowolą fkcję logiczą może realizować kład klasyczych bramek NAND. Ze względ a to, że tzw. bramka Toffoliego może wykoywać operację NAND, w latach 9. XX wiek pojawiły się pblikacje, m.i. [], propojące bdowę kładów kwatowych realizjących fkcje logicze z życiem tejże bramki. Rozwiązaie to ma wadę, miaowicie każda bramka Toffoliego ma tzw. qbit (kwatowy bit) sterjący, który decydje o tym, czy bramka wykoje operację AND czy NAND a pozostałych qbitach przetwarzaych przez bramkę.
56 J. Wiśiewska Biorąc po wagę problem dekoherecji ależałoby zmiejszać liczbę kwatowych qbitów potrzebych do rozwiązaia zadaia, a każda bramka NAND w kładzie geerje potrzebę korzystaia z dodatkowego qbit sterjącego. Poiżej przedstawioy został sposób kostrowaia sieci zaych bramek kwatowych, realizjącej fkcję logiczą, bez korzystaia z qbitów sterjących. Elimiacja qbitów sterjących została otrzymaa poprzez sprowadzeie problem modelowaia fkcji logiczej do problem przyporządkowaia daej fkcji pewej macierzy itarej, a astępie do problem sytezy kwatowego obwod itarego, realizjącego działaie operatora wyrażoego za pomocą wspomiaej macierzy. Prezetowae rozwiązaie różi się od aktalie stosowaych, p. [, 8, ], brakiem elemetów probabilistyczych, a celem rozwijaej metody jest opracowaie determiistyczego algorytm wskazjącego, w jaki sposób moża kostrować kłady realizjące fkcje logicze o jak ajmiejszej liczbie bramek.. Rozpatrywae fkcje logicze Fkcją logiczą f, zmieych, będzie azwae odwzorowaie: f : B B, () gdzie B {, }. Dodatkowo, zakłada się, że fkcja f ie jest fkcją stałą i jej wartość zależy od wartości wszystkich zmieych rozpatrywaego zadaia. Dla każdej fkcji f o zmieych, które będą ozaczae jako i ( i, ), moża podać tabelę prawdy. Niech tabelą prawdy dla fkcji f będzie tabela o ( + ) kolmach oraz ( + ) wierszach łączie z tzw. agłówkiem tabeli. Kolmy, które w agłówk mają ozaczeia i ( i, ) zawierają wszystkie możliwe kombiacje wartości zero-jedykowych, które mogą przyjmować zmiee i fkcji f, w taki sposób, iż wartości te czytae wierszami są kolejymi liczbami biarymi, dla których ajbardziej istoty bit zajdje się zawsze w kolmie. Wartość liczby biarej zapisaej w dowolym wiersz jest zawsze o jede miejsza iż wartość lp w tymże wiersz liczbę porządkową lp, zawiera pierwsza kolma tabeli prawdy, o ozaczei lp w agłówk. Ozacza to, że lp jest merem kokretego przyporządkowaia (pary) wartości wektorów: gdzie: zapis lp lp, F, () lp o merze lp, a lp ozacza wektor, składowych, zajdjący się w wiersz tabeli prawdy F to wartość decyzji dla daego wektora lp lp F,. Ostatia kolma tabeli prawdy, z agłówkiem f(), zawiera zbiór możliwych wartości decyzji F(), odpowiadający permtacjom wszystkich wartości zmieych i.
Implemetacja fkcji logiczych za pomocą sieci bramek kwatowych 57 Rys.. Wzorzec tabeli prawdy Fig.. The patter of trth table Warto zaważyć, że dla zadaia zmieych w kolmie f() moża podać różych ciągów zero-jedykowych. Liczba fkcji f, dokładie zmieych, zostaie podaa, jeżeli od liczby ciągów zostaą odjęte ciągi reprezetjące fkcje stałe ( f ( ) i f ( ) ) oraz ciągi odpowiadające fkcjom, które moża prościć do miejszej liczby zmieych iż. Niech wartość mówiąca o liczbie fkcji f dokładie zmieych zostaie ozaczoa jako lf. W przypadk fkcji jedej zmieej, po wyklczei fkcji stałych, lf wyosi: lf, (3) co jest zgode z rzeczywistością, bo dla jedej zmieej możemy podać tylko dwie róże fkcje logicze: f ( ) i f ( ). Obliczając lf dla > ależy względiać liczbę fkcji o miejszej liczbie zmieych, których liczość moża wyrazić jako kombiację k zmieych ( k, ) spośród -elemetowego zbior zmieych: lf k! lf k! k! k dla Ze względ a to, że wzór (4) ma charakter rekrecyjy, aby wyliczyć dowole lf potrzebe jest wcześiejsze wyliczeie wszystkich lf k, przy założei, że lf jest zae (3). (4) 3. Operator kwatowy wyzaczający wartość fkcji logiczej Przyjęte zostało założeie mówiące, że zero-jedykowe wartości przyjmowae przez zmiee i rozpatrywaej fkcji f zostaą przypisae kolejym qbitom rejestr kwatowego h :
58 J. Wiśiewska h,,..., (5) Korzystając z tabeli prawdy fkcji f moża podać macierz U, będącą reprezetacją operatora kwatowego, który realizje przekształceie h U h (6) takie, że ze sta końcowego h rejestr kwatowego moża odczytać wartość fkcji f(), korzystając z algorytm opisaego w tym podrozdziale. Sta h moża opisać aalogiczie do (5): h,,..., (7) Wspomiay algorytm moża podzielić a dwa etapy w pierwszym z ich, a podstawie tabeli prawdy, tworzoa jest tablica pomocicza i zapamiętyway jest klcz, słżący odczytai wyików zadaia ze sta macierzy U. h, astępie w drgim etapie wyliczaa jest postać Tablica pomocicza ma wierszy oraz dwie kolmy zwierające odpowiedio: stay początkowe h i stay końcowe h rejestr obliczeiowego dla zadaia zmieych. Wartości staów początkowych rejestr są zae (są to koleje całkowite liczby biare od do ( ), czyli liczby zapisae w tablicy prawdy, w kolmach ależących do wektora ). Zmieej pomociczej lp ależy przypisać wartość, a zmiea sta_końcowy jest iicjowaa wartością, zapisaą w postaci -cyfrowej liczby biarej. Zmiea z będzie przechowywała wartość potrzebą do odczytaia wyików zadaia. W cel wyzaczeia wartości zajdjących się w drgiej kolmie tablicy pomociczej wykoywae są astępjące kroki:. Jeżeli w tabeli prawdy w wiersz o merze lp kolma z agłówkiem f() zawiera wartość, to przejście do krok ; w przeciwym wypadk zwiększaa jest wartość zmieej lp o jede. Jeżeli (lp > powtarzay jest krok. ), to przejście do krok 3; w przeciwym wypadk. Staowi początkowem, który jest reprezetoway przez liczbę biarą, co do wartości o jede miejszą iż aktala wartość zmieej lp, przypisyway jest sta końcowy o aktalej wartości zmieej sta_końcowy, a astępie ikremetowae są wartości zmieych: lp i sta_końcowy. Jeżeli (lp > ), to przejście do krok 3; w przeciwym wypadk powtarzay jest krok. 3. Zmieej z przypisywaa jest wartość (sta_końcowy + ). Zmieej lp przypisywaa jest wartość i astępje przejście do krok 4. 4. Jeżeli w tabeli prawdy w wiersz o merze lp kolma z agłówkiem f() zawiera wartość, to przejście do krok 5; w przeciwym wypadk zwiększaa jest wartość zmie-
Implemetacja fkcji logiczych za pomocą sieci bramek kwatowych 59 ej lp o jede. Jeżeli (lp > ), to koiec algorytm; w przeciwym wypadk powtarzay jest krok 4. 5. Staowi początkowem, który jest reprezetoway przez liczbę biarą, co do wartości o jede miejszą iż aktala wartość zmieej lp, przypisyway jest sta końcowy o aktalej wartości zmieej sta_końcowy, a astępie ikremetowae są wartości zmieych: lp i sta_końcowy. Jeżeli (lp > ), to koiec algorytm; w przeciwym wypadk powtarzay jest krok 4. Korzystając z tablicy pomociczej, zawierającej par h h, wyzacza się postać macierzy U o rozmiarze. W tym cel stay h i h mogą zostać przedstawioe jako kolmowe wektory amplitd, których wartości są zae odpowiedio H i H., H H (8) Przekształceie z (6) może zostać zapisae: H H U, (9) czyli wyliczeie elemetów U wymaga rozwiązaia kład rówań, tworzoych a podstawie zależości ().,,,,,,,,, () Wartość z, obliczaa dla daej fkcji f w trzecim krok algorytm tworzeia tablicy pomociczej, pozwala a odczytaie wartości fkcji f ze sta h w astępjący sposób: ) ( z dla z dla f ()
6 J. Wiśiewska 4. Charakterystyka macierzy U Zaim zostaą opisae sposoby realizacji działaia operatora kwatowego, przedstawiaego za pomocą macierzy U, warto zwrócić wagę a pewe charakterystycze cechy tej macierzy. Macierz U, o wymiarach dla fkcji zmieych, jest biarą macierzą itarą, poieważ jej elemety są wyzaczae a podstawie różych postaci wektora kolmowego H oraz różych postaci wektora kolmowego H, przy czym H i H opisją wyłączie stay kwatowe z tzw. bazy stadardowej (elemety każdego wektora, czyli amplitdy sta kwatowego to ( ) zer i jeda jedyka). Macierz permtacją kolm/wierszy macierzy idetyczości I U zawsze będzie pewą, a co za tym idzie kolmy i wiersze U będą wzajemie ortogoale oraz sma podiesioych do kwadrat wartości elemetów każdej kolmy i każdego wiersza będzie rówa jedości, a z tego wyika, że U jest itara dowód w [5]. jest pewą permtacją kolm macierzy I, to moża ją zapisać w for- mie ( Skoro j, którym U -elemetowego ciąg (c) liczb całkowitych dodatich, w którym każda j-ta liczba ) odpowiada j-tej kolmie U, a wartość j-tej liczby to mer wiersza, w w macierzy U zajdje się wartość, p.: U, () wtedy 4-elemetowy ciąg (c) ma postać:, 3,, 4. Sposób tworzeia U, opisay w poprzedim podrozdziale, powodje, że U może być macierzą jedostkową I, jeżeli w kolmie f() tablicy prawdy zajdje się posortoway iemalejąco ciąg zero-jedykowy (czytając tablicę od wiersza lp = do lp = ). W pozostałych przypadkach ciąg (c) dla macierzy U moża podzielić a dwa rosące (różica ciąg r = ) ciągi liczb całkowitych dodatich, których elemety mogą się przeplatać jede z tych ciągów jest skoreloway z wystąpieiami wartości w kolmie f() tabeli prawdy, a drgi z wystąpieiami w tej kolmie wartości. Moża zaważyć, że liczba macierzy U, potrzebych do realizacji obliczeń dla wszystkich fkcji f, dokładie zmieych, jest trochę miejsza iż liczba fkcji f podaa w (4), z tego powod, że w grpie tychże fkcji mogą występować róże od siebie fkcje
Implemetacja fkcji logiczych za pomocą sieci bramek kwatowych 6 dokładie zmieych, dla których ciąg (c) będzie ciągiem rosącym, a wtedy U I. Wspomiaa różica między liczbą macierzy U a liczbą fkcji f dla kokretej liczby zmieych jest tak iezacza, iż moża przyjąć, że obydwie te wartości są tego samego rzęd:, co wyika z (4). Istote jest to, że przedstawioy sposób modelowaia fkcji logiczej wymaga skostrowaia macierzy U wszystkich permtacji kolm macierzy jedostkowej, które są tylko pewym podzbiorem I, których liczba wyosi ( )!, a moża pokazać, że ( )! dla. W dodatk, jeżeli U I, wiadomo, że U ma tę cechę, iż zrztowaa a ciąg (c) składa się z dwóch rosących ciągów, których wyrazy mogą się przeplatać, co wpływa a kostrkcję algorytmów bdowaia sieci bramek kwatowych, realizjących operację U oraz pomaga zwiększyć dokładość oszacowaia złożoości tychże kładów. 5. Implemetacja U za pomocą sieci bramek kwatowych Macierz U, będąca reprezetacją pewego operatora kwatowego, jest biarą macierzą itarą, więc może zostać zaimplemetowaa za pomocą kład kwatowego, zbdowaego z bramek Toffoliego oraz operacji Roll, której reprezetacja macierzowa, będąca pewą permtacją macierzy I, została podaa w (3). W pracy [] pokazao dowód, że wspomiae wyżej operacje staowią zbiór operacji bazowych dla biarych macierzy itarych. Roll (3) Na rys. a przedstawioo kład realizjący -qbitową operację Roll, przy czym operacja COND (rys. b) może zostać przedstawioa jako taka permtacja kolm macierzy I, w której pierwsza kolma I została zamieioa miejscami z kolmą o merze +. Poiżej zajdje się przykład -qbitowej operacji COND (4). COND (4)
6 J. Wiśiewska Dla przyspieszeia wykoywaych operacji zostaie żyta także operacja Roll -, która może zostać zaimplemetowaa jako kład odwroty do kład Roll. a) b) - COND - COND - COND Rys.. (a) kład -qbitowy dla operacji Roll, (b) kład -qbitowy dla operacji COND Fig.. (a) -qbit circit for Roll operatio, (b) -qbit circit for COND operatio Jeżeli dla pewej fkcji logiczej zmieych macierz U I, to kład bramek może składać się z jedej bramki I o wejściach/wyjściach. W pozostałych przypadkach kład będzie kostroway z operacji Roll, Roll - i bramki Toffoliego, korzystając z astępjących obserwacji: Roll przeswa kolmy kostrowaej macierzy w lewo, a Roll - w prawo; bramka Toffoliego zamieia miejscami dwie ostatie kolmy; jako pkt startowy przyjmowaa jest macierz I, więc skoro U może zostać przedstawioe jako ciąg (c) składający się z dwóch ciągów rosących, to wystarczy odpowiedio porządkować tylko jede z ich; zaa jest wartość z (klcz do odczytaia wyików zadaia), mówiąca o dłgości ciąg rosącego korespodjącego z wartościami fkcji rówymi (odczytywae z tablicy prawdy). Niech celem będzie skostrowaie macierzy U I macierzowych operacji Roll, Roll - i bramki Toffoliego o wymiarach. Macierz pomocicza X za pomocą iloczyów postaci I zostaje zaiicjowaa jako macierz jedostkowa. Zmieej pomoci- czej pozycja przypisywaa jest wartość. W cel skostrowaia kład realizjącego U ależy wykoać astępjące kroki:. Należy sprawdzić czy z jeżeli tak, to przejście do krok ; w przeciwym wypadk przejście do krok 5.. Zmieej pomociczej k przypisywaa jest wartość z. 3. Jeżeli k =, to przejście do krok 8; w przeciwym wypadk: pod zmieą j przypisyway jest mer kolmy, w której w U występje w k-tym wiersz. Pod zmieą j przypisyway jest mer kolmy, w której w X występje w k-tym wiersz. Jeżeli j = j, to k zostaje zmiejszoe o i astępje powtórzeie krok 3; w przeciwym wypadk przejście do krok 4.
Implemetacja fkcji logiczych za pomocą sieci bramek kwatowych 63 4. Na macierzy X ależy wykoać operację Roll - (pozycja j ) razy. Zastosować operację Toffoli jede raz. Następie Roll i Toffoli aprzemieie (j j ) razy. Zmieej pozycja przypisać wartość j. Zmiejszyć k o jede i przejść do krok 3. 5. Zmieej pomociczej k przypisywaa jest wartość (z + ). 6. Jeżeli k = +, to przejście do krok 8; w przeciwym wypadk: pod zmieą j przypisyway jest mer kolmy, w której w U występje w k-tym wiersz. Pod zmieą j przypisyway jest mer kolmy, w której w X występje w k-tym wiersz. Jeżeli j = j, to k zostaje zwiększoe o i astępje powtórzeie krok 6; w przeciwym wypadk przejście do krok 7. 7. Jeżeli j pozycja, to a macierzy X ależy wykoać operację Roll - (pozycja j ) razy; w przeciwym wypadk ależy wykoać a macierzy X operację Roll (pozycja j ) razy. Zastosować operację Toffoli jede raz. Następie Roll - i Toffoli aprzemieie (j j ) razy. Zmieej pozycja przypisać wartość (j + ). Zwiększyć k o jede i przejść do krok 6. 8. Na macierzy X wykoać operację Roll ( pozycja) razy. 9. Sieć bramek realizjącą operację U ależy zbdować wstawiając podkłady bramek kwatowych odpowiadające żytym operacjom Roll, Roll - i Toffoli zaczyając od wyjścia, a kończąc a wejści całego kład. 6. Podsmowaie Zaletą rozwiązaia przedstawioego w tym rozdziale jest możliwość modelowaia obwod bramek kwatowych, realizjącego operację logiczą, bez życia qbitów sterjących (bdjąc kład z bramek Toffoliego, pracjących jako iwersale bramki NAND ależy względiać zwiększeie rejestr kwatowego o liczbę qbitów rówą liczbie żytych bramek). W podrozdziale 5 została przedstawioa propozycja implemetacji operacji U, realizjącej działaie fkcji logiczej, za pomocą obwod zaych bramek kwatowych ze względ a kostrkcję wykorzystaego w tym cel algorytm moża stwierdzić, że ajbardziej złożoe kłady powstawałyby dla przypadków, w których modelowae U miałoby postać ciąg (c): lb,,...,,,,..., (5),,,,...,, Wtedy liczba warstw bramek względiając to, że każda operacja Roll bądź Roll - to (5 5) warstw dla >, a bramka Toffoliego ze względ a możliwość efektywej implemetacji [6] traktowaa jest jako jeda warstwa byłaby rzęd. Przypadki te jedak ie ależą do zbior fkcji f dokładie zmieych, bo praszczają się do fkcji jedej (6)
64 J. Wiśiewska zmieej: (5) to f ( ), a (6) moża przedstawić jako f ( ). Fkcje te moża realizować za pomocą -qbitowej bramki. Potrzeba jest dalsza ewalacja żytych metod w kierk badaia złożoości powstających kładów oraz zoptymalizowaia zapropoowaego w podrozdziale 5 algorytm, co rówież przełoży się a zmiejszeie liczby warstw bramek w sieci. BIBLIOGRAFIA. Ambaiis A., de Wolf R.: How Low Ca Approimate Degree ad Qatm Qery Compleity be for Total Boolea Fctios? arxiv:6.77 v [qat-ph], 3.. Bareco A., Ekert A., Vedral V.: Qatm Networks for Elemetary Arithmetic Operatios. arxiv:qat-ph/958, 995. 3. Bgajski S., Klamka J., Węgrzy S.: Fodatio of qatm comptig. Part. Archiwm Iformatyki Teoretyczej i Stosowaej, vol., o.,, p. 97-4. 4. Bgajski S., Klamka J., Węgrzy S.: Fodatio of qatm comptig. Part. Archiwm Iformatyki Teoretyczej i Stosowaej, vol. 4, o.,, p. 93-6. 5. Chdy M.: Wprowadzeie do Iformatyki Kwatowej. Akademicka Oficya Wydawicza EXIT, Warszawa. 6. Gilchrist A., Ralph T.C., Resch K.J.: Efficiet Toffoli Gates Usig Qdits. arxiv: 86.654v [qat-ph], 8. 7. Hardy Y., Steeb W.H.: A Seqece of Qatm Gates. arxiv:.59v [qat-ph],. 8. Kameyama M., Lkac M., Perkowski M.: Evoltioary Qatm Logic Sythesis of Boolea Reversible Logic Circits Embedded i Terary Qatm Space Usig Heristics. arxiv:7.3383v [qat-ph],. 9. Kaye P., Laflamme R., Mosca M.: A Itrodctio to Qatm Comptig. Oford Uiversity Press, Oford 7.. Motaaro A., Osbore T.J.: Qatm Boolea Fctios. arxiv:8.435v5 [qatph],.. Wiśiewska J.: Qatm Compter Network Model for a Decisio Makig Algorithm. Commicatios i Compter ad Iformatio Sciece, Spriger-Verlag, vol. 9, p. 73-8, Berli. Wpłyęło do Redakcji 3 marca 3 r.
Implemetacja fkcji logiczych za pomocą sieci bramek kwatowych 65 Abstract The chapter cocers o Boolea fctios modellig with se of qatm gates, bt withot so-called acilla qbits. The secod sbsectio of this pblicatio cotais the descriptio of modelled Boolea fctios. To redce both: the mber of eeded fctios ad the size of circits costrcted i the fifth sbsectio, the eact mber of fctio of variables was desigated eqatios (3) ad (4). I the third sbsectio the algorithm for calclatig matri form of qatm operator is preseted. This operator solves formlated problem i.e. it trasforms iitial state (5) of -qbit register to the state (7) from which the vale of modelled Boolea fctio ca be read. Net sbsectio cotais the characteristic of qatm operator s matri form U. The matrices are some permtatios of idetity matri s I U colms, so they are biary ad itary matrices. Additioally, if U I the U is projectable to positive iteger seqece (c), which cosists of two arithmetic progressios (with commo differece of ) the progressios elemets may occr alterately i (c). This special featre of matrices U allows to determie the mber of eeded operators ad also to simplify the algorithm of costrctig qatm gates circit performig U. The fifth sbsectio refers to the problem of qatm circits costrctig with se of kow qatm gates. To perform U three operatios are sed: Toffoli gate, Roll (3) ad Roll -. The Toffoli gate is well-kow iversal operatio [6]. The way of implemetig Roll is show at the Fig. (Roll - is the reverse operatio to Roll). Usig give i this sbsectio algorithm it is possible to costrct a circit calclatig the vale of Boolea fctio. Adres Joaa WIŚNIEWSKA: Wojskowa Akademia Techicza, Wydział Cyberetyki, Istytt Systemów Iformatyczych, l. Kaliskiego, -98 Warszawa, Polska, jwisiewska@wat.ed.pl.