Đề tài Toán lượng tử và vấn đề mô phỏng trên máy tính truyền thống

Mục lục Tóm tắt công trình 1 Mục lục 2 Chương 1. Tính toán lượng tử và vấn đề mô phỏng trên máy tính truyền thống 3 1.1. Sơ bộ 3 1.2. Hướng giải quyết 4 1.3. Các khái niệm cơ bản về mạch lượng tử và tính toán lượng tử 5 1.4. Lựa chọn giải pháp cho Visual Quantum Studio (VQS) 8 Chương 2. Ngôn ngữ SQL và sự tương thích với mô hình tính toán lượng tử 10 2.1. Ngôn ngữ SQL 10 2.2. Sự tương thích chặt chẽ giữa SQL và tính toán lượng tử 10 2.3. Mô phỏng tính toán lượng tử bởi SQL Server 11 2.4. Định lý cơ bản về tính đúng đắn của phép mô phỏng 12 2.5. Mô phỏng một số cổng lượng tử phổ dụng 18 Chương 3. Ngôn ngữ QuML và kiến trúc hệ thống Visual Quantum Studio (VQS) 20 3.1. Kiến trúc hệ thống Visual Quantum Studio 20 3.2. Hệ thống giao diện đồ họa 20 3.3. Ngôn ngữ mô tả mạch lượng tử QuML (Quantum Marked up Language) 21 3.4. Máy ảo thực hịên tính toán lượng tử bởi SQL Server 27 Kết luận chung 28 Tài liệu tham khảo 29 Phụ lục. GIỚI THIỆU CHƯƠNG TRÌNH 30

doc35 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2456 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Toán lượng tử và vấn đề mô phỏng trên máy tính truyền thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ghiÖm thµnh c«ng viÖc chÕ t¹o m¸y tÝnh l­îng tö 7-qubit, ®iÒu ®ã chØ ra r»ng, viÖc chÕ t¹o nh÷ng chiÕc m¸y tÝnh l­îng tö c«ng nghiÖp chØ cßn lµ vÊn ®Ò thêi gian. §èi víi n­íc ta, ®øng tr­íc mét lÜnh vùc ®Çy tiÒm n¨ng nh­ng còng ®Çy th¸ch thøc nµy, c©u hái ®Æt ra lµ: chóng ta ph¶i lµm g× ®Ó b¾t kÞp víi sù ph¸t triÓn cña thÕ giíi? Râ rµng chóng ta kh«ng thÓ chê cho ®Õn khi m¸y tÝnh l­îng tö c«ng nghiÖp ra ®êi bëi ®iÒu g× sÏ x¶y ra khi nh÷ng hÖ thèng b¶o mËt cña quèc gia bÞ ph¸? ChÝnh v× vËy viÖc ®Çu t­ nh©n lùc vµ tiÒn cña vµo nghiªn cøu m¸y tÝnh l­îng tö lµ kh«ng thÓ tr¸nh khái, vµ c«ng viÖc nµy diÔn ra cµng sím cµng tèt. Tuy nhiªn viÖc ®Çu t­ cho mét dù ¸n nghiªn cøu chÕ t¹o m¸y tÝnh l­îng lµ kh«ng thùc tÕ trong hoµn c¶nh n­íc ta bëi nã ®ßi hái rÊt nhiÒu tiÒn cña, h¬n n÷a nÒn c«ng nghÖ vµ vËt lý cña n­íc ta cßn nhiÒu h¹n chÕ. Do ®ã h­íng nghiªn cøu chiÕn l­îc víi n­íc ta sÏ lµ tËp trung nghiªn cøu c¸c thuËt to¸n l­îng tö vµ c¸c m« h×nh tÝnh to¸n l­îng tö. §Ó thùc hiÖn ®­îc ®iÒu ®ã, viÖc x©y dùng mét ch­¬ng tr×nh m« pháng tÝnh to¸n l­îng tö trªn hÖ m¸y tÝnh truyÒn thèng nh­ lµ mét bé c«ng cô trî gióp viÖc nghiªn cøu c¸c thuËt to¸n l­îng tö lµ ®iÒu thiÕt yÕu. Víi thùc tÕ ®ã, nhãm chóng t«i ®Ò xuÊt x©y dùng mét bé c«ng cô m« pháng lµm h¹t nh©n cho viÖc h×nh thµnh mét labo nghiªn cøu vÒ m¸y tÝnh l­îng tö ë ViÖt Nam theo mét tiÕp cËn hoµn toµn míi. H­íng gi¶i quyÕt HiÖn nay trªn thÕ giíi xuÊt hiÖn rÊt nhiÒu ch­¬ng tr×nh m« pháng tÝnh to¸n l­îng tö nh­: labo cña Kieu Tien Dung( Centre for atom optics and ultrafast spectroscopy, Swinburne University of Technology, Howthorn 3122, Australia), Gregory David Baker( Computer science at Macquaie University) víi h­íng tiÕp cËn dïng lËp tr×nh thñ tôc, Bernhard Oemer( Department of Theoretical Physics Technical University of Vienna) víi h­íng tiÕp cËn dïng C/C++, ch­¬ng tr×nh jaQuzzi( www.physics.bufalo.edu/~phygons/jaQuzzi) víi h­íng tiÕp cËn dïng Java,… Trong nghiªn cøu m« pháng tÝnh to¸n l­îng tö cã hai xu h­íng chÝnh: thø nhÊt lµ viÕt c¸c ch­¬ng tr×nh m« pháng cho tõng thuËt to¸n cô thÓ, thø hai lµ nghiªn cøu x©y dùng mét bé c«ng cô cho phÐp thùc thi mét m¹ch bÊt kú. Râ rµng h­íng thø nhÊt khã cã thÓ ph¸t triÓn ®­îc víi qui m« lín vµ tù ®éng. Theo h­íng thø hai, mÆc dÇu cã kh¶ n¨ng ph¸t triÓn thµnh mét bé c«ng cô m¹nh nh­ng cÇn ph¶i gi¶i quyÕt mét sè vÊn ®Ò ®Æt ra mµ nh÷ng ch­¬ng tr×nh hiÖn nay trªn thÕ giíi ch­a gi¶i quyÕt ®­îc, ®ã lµ vÊn ®Ò bïng næ d÷ liÖu theo hµm luü thõa víi sè qubit ®Çu vµo - mét b¶n chÊt cña m« h×nh tÝnh to¸n l­îng tö, kÌm theo ®ã lµ vÊn ®Ò kiÓm so¸t vµ xö lý d÷ liÖu. Víi C/C++, chóng ta sÏ mÊt nhiÒu c«ng søc vµo vÊn ®Ò tæ chøc l­u tr÷ d÷ liÖu lín vµ x©y dùng mét bé c«ng cô víi giao diÖn th©n thiÖn hç trî ng­êi dïng v× ng«n ng÷ kh«ng hç trî nhiÒu module ®å ho¹. Víi Java, chóng ta kh«ng thÓ tèi ­u ®­îc vÒ mÆt tèc ®é, ®Æc biÖt lµ khi ph¶i xö lý víi d÷ liÖu lín. Víi mét sè ch­¬ng tr×nh dïng Mathemetica hay Mathlab, viÖc kiÓm so¸t d÷ liÖu lµ kh«ng chñ ®éng v× nã phô thuéc vµo c¸c nhµ thiÕt kÕ Mathemetica, Mathlab vµ ch­a cã t­¬ng t¸c trî gióp thiÕt kÕ ë møc giao diÖn ®¬n gi¶n. §øng tr­íc thùc tÕ ®ã, trong thêi gian ®Çu nghiªn cøu, c©u hái lín nhÊt mµ nhãm cÇn tr¶ lêi ®­îc lµ: lùa chän h­íng tiÕp cËn nµo cho phï hîp, kh¾c phôc ®­îc nh÷ng h¹n chÕ cña c¸c ch­¬ng tr×nh ®· cã ®ång thêi h­íng ®Õn môc tiªu ph¸t triÓn dµi l©u cïng sù ph¸t triÓn cña m¸y tÝnh l­îng tö? XuÊt ph¸t tõ thuËt to¸n cña Deutsch-Jozsa, ®Æc biÖt lµ sau thuËt to¸n næi tiÕng cña Peter Shor [13] n¨m 1994, lý thuyÕt vÒ thuËt to¸n l­îng tö ph¸t triÓn ngµy cµng s©u vµ réng, c¸c h­íng nghiªn cøu míi liªn tôc xuÊt hiÖn. Ban ®Çu lµ m« h×nh tÝnh to¸n l­îng tö dùa trªn c¸c cæng vµ m¹ch l­îng tö, sau ®ã xuÊt hiÖn c¸c m« h×nh tÝnh to¸n l­îng tö míi nh­: Adiabetic Evolution, Quantum Radom Walks, h­íng cña Kieu Tien Dung nghiªn cøu m« h×nh trªn kh«ng gian Hilbert v« h¹n chiÒu và ph¸t triÓn c¸c ch­¬ng tr×nh m« pháng trªn m¸y tÝnh truyÒn thèng. Tuy nhiªn m« h×nh tÝnh to¸n l­îng tö trªn c¸c cæng vµ m¹ch l­îng tö vÉn lµ m« h×nh tæng qu¸t ®­îc nghiªn cøu nhiÒu nhÊt vµ gÇn víi h­íng thiÕt kÕ m¸y tÝnh l­îng tö. ChÝnh v× vËy, lùa chän ®Çu tiªn cña nhãm lµ thùc hiÖn m« pháng tÝnh to¸n l­îng tö trªn c¸c cæng vµ m¹ch l­îng tö m« pháng cho phÐp ng­êi dïng dÔ dµng thiÕt kÕ mét m¹ch l­îng tö bÊt k× mét c¸ch trùc quan dùa trªn m¸y tÝnh truyÒn thèng. VÒ t­¬ng lai l©u dµi, ch­¬ng tr×nh sÏ ph¸t triÓn më réng cho c¸c tiÕp cËn tæng qu¸t. §Ó gi¶i quyÕt vÊn ®Ò t¨ng d÷ liÖu theo hµm luü thõa víi sè qubit ®Çu vµo, nhãm ®Ò xuÊt gi¶i ph¸p tÝnh to¸n b»ng SQL trªn c¸c hÖ qu¶n trÞ c¬ së d÷ liÖu (tËp trung hoÆc ph©n t¸n). ë c«ng tr×nh nµy chóng t«i lùa chän SQL Server v× nã phï hîp víi mét labo nghiªn cøu vÒ tÝnh to¸n l­îng tö ë quy m« trung b×nh. Khi cã nhu cÇu më réng quy m« tÝnh to¸n ch­¬ng tr×nh cã thÓ dÔ dµng chuyÓn ®æi sang sö dông c¸c hÖ qu¶n trÞ d÷ liÖu kh¸c nh­ Oracle…. §©y lµ mét gi¶i ph¸p hoµn toµn míi, lÝ do cña sù lùa chän nµy lµ: + ThuËn tiÖn cho viÖc l­u tr÷ vµ qu¶n lý d÷ liÖu t¨ng theo hµm luü thõa víi sè qubit bëi viÖc l­u tr÷ b»ng c¬ së d÷ liÖu ®· ®­îc c¸c h·ng phÇn mÒm lín trªn thÕ giíi tèi ­u. + T¹o kh¶ n¨ng ¸p dông tÝnh to¸n song song cæ ®iÓn vµo m« pháng nguyªn lý song song l­îng tö, bëi viÖc thùc hiÖn tÝnh to¸n trªn m«i tr­êng song song lµ rÊt phï hîp khi dïng c¬ së d÷ liÖu. + Gi¶m thiÓu cho ng­êi lËp tr×nh khái vÊn ®Ò qu¶n lý vµ kiÓm so¸t d÷ liÖu. Cïng víi gi¶i ph¸p trªn lµ mét ch­¬ng tr×nh ®­îc x©y dùng dùa vµo c¸c c«ng nghÖ hiÖn ®¹i víi kiÕn tróc 3 tÇng: + HÖ thèng giao diÖn ®å ho¹ th©n thiÖn hç trî tèi ®a viÖc thiÕt kÕ m¹ch l­îng tö b»ng c¸c thao t¸c kÐo, th¶ quen thuéc. Nhê ®ã cã thÓ kiÓm chøng vµ ph¸t kiÕn c¸c thuËt to¸n l­îng tö trong mét thêi gian kØ lôc nhê ph­¬ng ph¸p giao diÖn ®å ho¹ kÐo th¶ t­¬ng tù nh­ c¸c ch­¬ng tr×nh hç trî thiÕt kÕ m¹ch ®iÖn tö cæ ®iÓn nh­ Circuit Maker, Work Bend..., thay cho ph­¬ng ph¸p tiÕp cËn truyÒn thèng cho tíi nay lµ mçi lÇn muèn thö nghiÖm mét thuËt to¸n m« pháng, ng­êi ta ph¶i viÕt l¹i ch­¬ng tr×nh tõ ®Çu. + Hç trî cho viÖc hiÓu vµ thùc thi cÇn cã mét ng«n ng÷ trung gian. ë ®©y chóng t«i x©y dùng míi mét ng«n ng÷ m« t¶ m¹ch, ®Æt tªn lµ QuML, ®Æc t¶ toµn bé cÊu tróc m¹ch l­îng tö ®­îc thÓ hiÖn trªn tÇng giao diÖn, mäi sù thay ®æi trªn m¹ch hiÓn thÞ ®Òu kÌm theo sù thay ®æi trong kÞch b¶n t¹o bëi QuML. + Mäi thao t¸c kÐo th¶ tõ tÇng giao diÖn th«ng qua ng«n ng÷ trung gian ®­îc truyÒn ®¹t tíi tÇng thùc thi. TÇng ch¹y: thùc thi c¸c c©u lÖnh truy vÊn SQL ®Ó m« pháng c¸c to¸n tö l­îng tö c¬ b¶n, trªn m«i tr­êng SQL Server th«ng qua sù giao tiÕp víi kÞch b¶n cã trong tÇng QuML. Nhê kiÕn tróc 3 tÇng, ch­¬ng tr×nh cã thÓ ph¸t triÓn ®­îc víi qui m« rÊt lín, sö dông tæng hîp nh÷ng c«ng nghÖ hiÖn ®¹i nhÊt nh­: C#, XML, tÝnh to¸n khoa häc b»ng ph­¬ng ph¸p truy vÊn SQL cïng nh÷ng thuËt to¸n míi h÷u hiÖu. Do nhu cÇu vµ ®Æc ®iÓm cña nhãm nghiªn cøu nªn ch­¬ng tr×nh nµy thùc hiÖn m« pháng tÝnh to¸n trªn m«i tr­êng cô thÓ lµ SQL Server. Víi h­íng tiÕp cËn trªn, chóng t«i ®· thùc hiÖn ®­îc c¸c c«ng viÖc sau: + TiÕp cËn ®­îc c¸c kh¸i niÖm c¬ b¶n cña tÝnh to¸n l­îng tö vµ mét sè thuËt to¸n quan träng nh­: Deutsch-Josza, Peter Shor, Grover,…. + Cô thÓ ho¸ c¸c kiÕn thøc thu ®­îc, tõng b­íc thiÕt kÕ, hoµn thiÖn ch­¬ng tr×nh. §Õn nay, nhãm ®· x©y dùng thµnh c«ng phiªn b¶n ®Çu tiªn m« pháng tÝnh to¸n víi c¸c cæng c¬ b¶n b»ng c¸c thao t¸c kÐo, th¶ quen thuéc víi nh÷ng ng­êi dïng Window, cho phÐp nhanh chãng kiÓm thö c¸c thuËt to¸n ®· nªu víi giao diÖn t¹o m¹ch l­îng tö thuËn tiÖn. Tõ nh÷ng kÕt qu¶ ban ®Çu cho thÊy, m« pháng thiÕt kÕ cho phÐp dÔ dµng më réng vµ ph¸t triÓn l©u dµi phï hîp víi yªu cÇu cña lÜnh vùc tÝnh to¸n l­îng tö, ®ång thêi s¶n phÈm cña nhãm hoµn toµn cã thÓ ®ãng vai trß lµ bé c«ng cô hç trî tÝnh to¸n m« pháng cho mét trung t©m khoa häc nghiªn cøu c¸c thuËt to¸n trªn m¸y tÝnh l­îng tö víi quy m« võa vµ lín. C¸c kh¸i niÖm c¬ b¶n vÒ m¹ch l­îng tö vµ tÝnh to¸n l­îng tö D­íi ®©y xin nh¾c l¹i mét sè kiÕn thøc c¬ b¶n vÒ tÝnh to¸n l­îng tö, vÒ chi tiÕt ng­êi ®äc cã thÓ xem [1,3,4,5,8]. Qubit H¹n chÕ cña bit cæ ®iÓn: mét bit cã thÓ biÓu diÔn mét trong hai tr¹ng th¸i: 0 hoÆc 1 (t¹i mét thêi ®iÓm x¸c ®Þnh). Do ®ã, n bit cã thÓ biÓu diÔn tr¹ng th¸i kh¸c nhau. Tuy nhiªn, theo c¸ch quan niÖm cæ ®iÓn, nÕu mét thanh ghi ®­îc t¹o nªn tõ n bit cæ ®iÓn, t¹i mét thêi ®iÓm, nã chØ cã thÓ biÓu diÔn ®óng mét gi¸ trÞ nguyªn trong kho¶ng 0 Theo quan niÖm míi vÒ qubit l­îng tö dùa trªn vËt lý l­îng tö, mét thanh ghi cã thÓ chøa ®­îc tæ hîp nhiÒu gi¸ trÞ t¹i mét thêi ®iÓm. Tr­íc hÕt ta xÐt quan niÖm míi vÒ qubit - ®¬n vÞ biÓu diÔn th«ng tin c¬ b¶n trong tÝnh to¸n l­îng tö. XÐt kh«ng gian Hilbert (tr­êng c¬ së lµ ). Nã cã c¬ së trùc giao lµ (1, 0) vµ (0, 1), ®­îc ký hiÖu t­¬ng øng lµ & . §Þnh nghÜa 1.1: Mét siªu tr¹ng th¸i (tr¹ng th¸i chång chÊt – Superposition) trªn 1-qubit ®­îc biÓu diÔn bëi mét vect¬ bÊt k× trong kh«ng gian Hilbert cã d¹ng víi vµ tho¶ m·n luËt ph©n bè x¸c suÊt . M« h×nh vËt lý: 1-qubit cã thÓ ®­îc biÓu diÔn bëi mét h¹t hai tr¹ng th¸i, nã cã thÓ lµ: spin h¹t nh©n trong ph©n tö, ion bÞ bÉy (trapped ions),... Nh­ vËy sö dông kÝ hiÖu vµ ta cã thÓ biÓu diÔn tr¹ng th¸i cña qubit, còng gièng nh­ 0 vµ 1 biÓu diÔn tr¹ng th¸i cña bit cæ ®iÓn. Tuy nhiªn, ®Ó cã thÓ thùc hiÖn tÝnh to¸n phøc t¹p ta cÇn ph¶i kÕt hîp nh÷ng qubit Êy l¹i víi nhau, t¹o thµnh thanh ghi n-qubit (n-qubit register). Thanh ghi n-qubit Mét n-qubit biÓu diÔn 1 vect¬ trong kh«ng gian Hilbert H lµ tÝch tenx¬ cña n lÇn , vect¬ nµy cã d¹ng tho¶ m·n ®iÒu kiÖn: Ci Î , S1£ i £N | Ci|2 = 1, ë ®ã | i1i2..in ñ = | i1 ñ Ä | i2 ñ Ä..Ä | in ñ, | ij ñ Î , j=1..,n. §Þnh nghÜa 1.2: Thanh ghi l­îng tö n-qubit lµ h×nh thøc vËt lý biÓu diÔn kh¶ n¨ng cña n-qubit, cho phÐp ®ång thêi l­u mét siªu tr¹ng th¸i lµ tæ hîp tuyÕn tÝnh cña vÐc t¬ c¬ së d¹ng | i1i2..in ñ thuéc H. Nguyªn lý rèi l­îng tö (entanglement) Ta xÐt vÝ dô sau ®©y: Khi tiÕn hµnh ®o mét qubit, tïy theo kÕt qu¶ cña phÐp ®o mµ ta cã ngay tr¹ng th¸i cña qubit cßn l¹i. Tøc lµ phÐp ®o ®· ¶nh h­ëng ®Õn toµn bé hÖ thèng: NÕu kÕt qu¶ lµ, tr¹ng th¸i hÖ thèng cßn l¹i lµ NÕu kÕt qu¶ lµ, tr¹ng th¸i hÖ thèng cßn l¹i lµ Suy ra: gi÷a hai hÖ thèng cã mèi quan hÖ nµo ®ã. Ng­êi ta gäi nh÷ng tr¹ng th¸i nh­ vËy lµ tr¹ng th¸i rèi l­îng tö (entanglement). Tr¹ng th¸i nµy cña qubit kh«ng thÓ ph©n tÝch thµnh tÝch tenx¬ cña hai hÖ thèng con. Nguyªn lý song song l­îng tö Thanh ghi l­îng tö cïng mét lóc cã thÓ l­u tr÷ rÊt nhiÒu tr¹ng th¸i ®¬n lÎ kh¸c nhau, nh­ng cã mét ®Æc ®iÓm ®¸ng chó ý ®ã lµ: bÊt k× mét phÐp t¸c ®éng nµo lªn mét thanh ghi l­îng tö còng sÏ t¸c ®éng ®ång bé lªn c¸c tr¹ng th¸i mµ thanh ghi ®ã l­u tr÷ (ta kh«ng thÓ t¸ch rêi c¸c tr¹ng th¸i ®Ó thao t¸c trªn chóng mét c¸ch riªng lÎ). M¹ch vµ cæng l­îng tö, cæng l­îng tö phæ dông TÝnh to¸n cæ ®iÓn ®­îc t¹o nªn bëi qu¸ tr×nh xö lý, biÕn ®æi bit cæ ®iÓn. §¬n vÞ xö lý bit ®­îc gäi lµ cæng logic. Bé vi xö lý ®­îc t¹o nªn tõ hµng triÖu c¸c cæng nh­ vËy. Ta kh«ng cÇn ®i vµo thiÕt kÕ bªn trong cña cæng mµ chØ cÇn biÕt sù t­¬ng øng cña c¸c ®Çu ra víi c¸c ®Çu vµo. Trong tr­êng hîp l­îng tö, ®¬n vÞ xö lý qubit ®­îc gäi lµ cæng l­îng tö. T¸c ®éng cña chóng lªn qubit còng gièng nh­ t¸c ®éng cña cæng logic th«ng th­êng lªn bit. Trong vËt lý l­îng tö, c¸c phÐp biÕn ®æi ®Òu ph¶i lµ c¸c to¸n tö Unita. Do ®ã trong m« h×nh to¸n häc, chóng ta còng ph¶i dïng nh÷ng to¸n tö Unita. §Þnh nghÜa 1.3: Mét cæng logic l­îng tö n-qubit biÕn ®æi n-qubit ®­îc biÓu diÔn vÒ mÆt to¸n häc bëi mét phÐp biÕn ®æi Unita t¸c ®éng lªn vect¬ siªu tr¹ng th¸i cña n-qubit ®ã. VÝ dô: Cæng Hadamard: H D¹ng ma trËn: D¹ng vect¬: Ta thÊy r»ng, khi t¸c ®éng cæng Hadamard lªn thanh ghi mét qubit, nã sÏ t¸c ®éng ®ång bé lªn c¶ 2 tr¹ng th¸i c¬ së , ®ã chÝnh lµ do nguyªn lý song song l­îng tö. §Þnh nghÜa 1.4: M¹ch l«gic l­îng tö lµ mét tËp c¸c cæng l«gic l­îng tö liªn kÕt theo mét ®å thÞ cã h­íng kh«ng chu tr×nh, trong ®ã ®Çu ra cña cæng nµy cã thÓ lµ ®Çu vµo cña cæng kia. §Þnh nghÜa 1.5: Mét tËp cæng l­îng tö G ®­îc gäi lµ phæ dông nÕu víi mäi vµ mäi ma trËn Unita U t¸c ®éng trªn sè qubit bÊt k×, U cã thÓ ®­îc xÊp xØ víi ®é chÝnh x¸c b»ng mét d·y cæng cña G. Nãi c¸ch kh¸c nhãm con t¹o nªn bëi G lµ trï mËt trong nhãm c¸c to¸n tö Unita. Tøc lµ ®­îc t¹o nªn b»ng tÝch c¸c cæng cña G sao cho: , víi mét chuÈn ®­îc lùa chän cô thÓ trong kh«ng gian Hilbert. PhÐp ®o ViÖc ®o mét qubit cña siªu tr¹ng th¸i S vÒ mÆt to¸n häc ®­îc biÓu diÔn bëi mét phÐp chiÕu vect¬ s lªn mét trong hai kh«ng gian con S0, S1 víi Sa lµ kh«ng gian con sinh bëi tÊt v¶ c¸c tr¹ng th¸i c¬ së mµ qubit ®­îc ®o lµ a. NÕu th× phÐp ®o trªn qubit ®Çu sÏ cho ra kÕt qu¶ 0 víi x¸c suÊt , kÕt qu¶ 1 víi x¸c suÊt vµ siªu tr¹ng th¸i S sÏ sôp ®æ t­¬ng øng vÒ mét trong hai tr¹ng th¸i sau: Sù sôp ®æ cña hÖ thèng sau phÐp ®o chÝnh lµ sù thÓ hiÖn cña nguyªn lý næi tiÕng vÒ sôp ®æ cña hµm sãng. VÝ dô: xÐt siªu tr¹ng th¸i 2-qubit : . PhÐp ®o trªn qubit ®Çu tiªn cho kÕt qu¶ 0 víi x¸c suÊt 2/3, kÕt qu¶ 1 víi x¸c suÊt 1/3. Nh­ vËy sau khi ®o, siªu tr¹ng th¸i sôp ®æ thµnh víi x¸c suÊt 2/3 vµ thµnh tr¹ng th¸i víi x¸c suÊt 1/3. ThuËt to¸n l­îng tö Cã thÓ x©y dùng kh¸i niÖm thuËt to¸n l­îng tö dùa trªn c¬ së m« h×nh m¸y Turing l­îng tö. Tuy nhiªn vÒ b¶n chÊt, ®Ó ng¾n gän, ta cã thÓ xem thuËt to¸n l­îng tö ®­îc thùc hiÖn bëi mét sè b­íc c¬ b¶n, mçi b­íc c¬ b¶n bao gåm mét d·y c¸c thao t¸c Unita kÌm theo mét phÐp ®o. §iÓm ®¸ng chó ý lµ nã sö dông nh÷ng ­u ®iÓm, ®Æc ®iÓm riªng cña m¸y tÝnh l­îng tö. Nhê ®ã mµ thuËt to¸n l­îng tö thËt sù ®· lµm ®­îc nh÷ng viÖc t­ëng nh­ kh«ng thÓ ®èi víi nh÷ng thuËt to¸n cæ ®iÓn. ¦u ®iÓm chñ yÕu cña thuËt to¸n l­îng tö lµ tÝnh chÊt xö lý song song: viÖc cæng l­îng tö t¸c ®éng lªn mét siªu tr¹ng th¸i n-qubit cã nghÜa lµ nã ®· t¸c ®éng ®ång thêi lªn 2n tr¹ng th¸i riªng lÎ. NhËn xÐt: + Thanh ghi l­îng tö cã kh¶ n¨ng l­u tr÷ rÊt lín. Cïng víi nguyªn lý song song l­îng tö, m¸y tÝnh l­îng tö sÏ thùc hiÖn ®­îc nh÷ng tÝnh to¸n khæng lå chØ sau vµi b­íc tÝnh to¸n. + Søc m¹nh cña m¸y tÝnh l­îng tö cho phÐp ta hi väng kh¸m ph¸ nh÷ng thuËt to¸n hiÖu qu¶ gi¶i quyÕt nh÷ng vÊn ®Ò khã nh­ nh÷ng bµi to¸n thuéc líp NP-Hard, … + Víi nh÷ng ®Æc tr­ng riªng, m« h×nh m¸y tÝnh l­îng tö høa hÑn cho phÐp chóng ta thùc hiÖn nhiÒu øng dông trong thùc tÕ nh­: truyÒn tin l­îng tö, m· vµ th¸m m· l­îng tö,... Lùa chän gi¶i ph¸p cho Visual Quantum Studio (VQS) ViÖc x©y dùng mét bé c«ng cô (Visual Quantum Studio) th©n thiÖn nh»m môc ®Ých gióp ng­êi dïng dÔ dµng thùc hiÖn c¸c thao t¸c ®ßi hái nhiÒu thiÕt kÕ phøc t¹p, sö dông nh÷ng c«ng cô hiÖn ®¹i. Tr­íc hÕt, ®Ó thùc hÞªn nh÷ng tÝnh to¸n trªn khèi l­îng d÷ liÖu rÊt lín cã b¶n chÊt song song, m«i tr­êng c¬ së d÷ liÖu lµ phï hîp h¬n c¶ ®Ó phôc vô cho viÖc tæ chøc, l­u tr÷ vµ kiÓm so¸t d÷ liÖu hiÖu qu¶, an toµn vµ æn ®Þnh. Bªn c¹nh ®ã, chóng t«i còng cÇn ph¶i lùa chän mét ng«n ng÷ thÝch hîp ®Ó xö lý trªn m«i tr­êng c¬ së d÷ liÖu. Gi¶i ph¸p mµ chóng t«i ®· chän lµ SQL Server. §ã lµ v× (xem thªm [11]) + SQL ®· trë thµnh mét chuÈn quèc tÕ vÒ xö lý c¬ së d÷ liÖu. + SQL trªn m« h×nh c¬ së d÷ liÖu quan hÖ qu¶n lý c¸c b¶n ghi mét c¸ch b×nh ®¼ng, kh«ng phô thuéc vµo trËt tù c¸c b¶n ghi ®­îc l­u tr÷. §iÒu nµy rÊt phï hîp víi nguyªn lý song song l­îng tö. + SQL hç trî kh¶ n¨ng tÝnh to¸n trªn m«i tr­êng ph©n t¸n. + SQL Server hç trî nhiÒu tÝnh n¨ng phong phó bªn c¹nh c¸c truy vÊn chuÈn. + Gi¶m thiÓu thêi gian cña nhãm lËp tr×nh trong vÊn ®Ò tæ chøc, qu¶n lý bé nhí, do ®ã nhãm ®· viÕt ch­¬ng tr×nh trong thêi gian kû lôc. + Gi¶i ph¸p mµ chóng t«i ®· chän còng lµ mét sù ph¸t triÓn tiÕp cËn trong [2]. Tuy nhiªn ®Ó thùc hiÖn ®­îc ®iÒu nµy, vÊn ®Ò ®Æt ra mµ c«ng tr×nh cÇn gi¶i quyÕt lµ chøng minh tÝnh ®óng ®¾n cña thuËt to¸n m« pháng tÝnh to¸n l­îng tö trªn m« h×nh ®¹i sè quan hÖ vµ sö dông ng«n ng÷ SQL. Bªn c¹nh viÖc xö lý tÝnh to¸n trªn c¬ së d÷ liÖu, ®Ó t¹o ra mét bé c«ng cô th©n thiÖn gióp ng­êi dïng sö dông VQS mét c¸ch dÔ dµng, chóng t«i ®· sö dông: + C«ng nghÖ .NET - lµ c«ng nghÖ hiÖn ®¹i hç trî kh¶ n¨ng ®å ho¹, ®Æc biÖt lµ hç trî kh¶ n¨ng tÝnh to¸n trªn m«i tr­êng m¹ng. + Ng«n ng÷ XML: lµ m«i tr­êng trung gian gi÷a giao diÖn ng­êi dïng vµ m«i tr­êng tÝnh to¸n trªn c¬ së d÷ liÖu. KÕt luËn: Trong hoµn c¶nh kinh tÕ cßn nhiÒu h¹n chÕ cña n­íc ta hiÖn nay, viÖc lùa chän gi¶i ph¸p m« pháng ®Ó nghiªn cøu tÝnh to¸n l­îng tö mang nhiÒu ý nghÜa: VÒ kinh tÕ: kh«ng ph¶i ®Çu t­ nhiÒu tiÒn cña nh­ng ta vÉn cã mét bé c«ng cô “gi¶ lËp m¸y tÝnh l­îng tö” cho phÐp nghiªn cøu m« pháng c¸c thuËt to¸n l­îng tö. ViÖc ¸p dông c¸c c«ng nghÖ hiÖn ®¹i lµm gi¶m rÊt nhiÒu thêi gian cho nhãm lËp tr×nh. VÒ mÆt khoa häc: sù ra ®êi cña VQS sÏ hç trî ®¾c lùc cho c¸c nhµ khoa häc trong viÖc nghiªn cøu, kiÓm ®Þnh c¸c thuËt to¸n l­îng tö vµ kh¸m ph¸ c¸c thuËt to¸n míi. TÝnh thùc tiÔn: víi nh÷ng chøc n¨ng ®· cã, VQS hoµn toµn cã thÓ ®ãng vai trß lµm c«ng cô ®¾c lùc cho mét trung t©m nghiªn cøu m« pháng tÝnh to¸n l­îng tö nh­ ë n­íc ta. §ång thêi VQS còng cã thÓ lµ mét bé c«ng cô h÷u Ých hç trî cho c¸c nhãm nghiªn cøu vÒ lÜnh vùc nµy. TÝnh chiÕn l­îc: viÖc h×nh thµnh mét trung t©m nghiªn cøu m« pháng tÝnh to¸n l­îng tö sÏ gióp chóng ta cã c¬ héi b¾t kÞp víi thÕ giíi trong lÜnh vùc míi nµy, gióp chóng ta chñ ®éng ®èi mÆt víi cuéc c¸ch m¹ng vÒ khoa häc tÝnh to¸n do m¸y tÝnh l­îng tö t¹o ra trong t­¬ng lai gÇn. Víi viÖc lùa chän 3 c«ng nghÖ hiÖn ®¹i trªn, bé c«ng cô VQS cã kh¶ n¨ng cung cÊp cho c¸c nhµ nghiªn cøu tÝnh to¸n l­îng tö nhiÒu tÝnh n¨ng h÷u Ých víi tèc ®é xö lý nhanh, kh¶ n¨ng kiÓm so¸t d÷ liÖu cì lín hiÖu qu¶ vµ an toµn, giao diÖn trùc quan th©n thiÖn dÔ dïng mµ so víi c¸c phÇn mÒm nh­ Mathemetica, Mathlab th× ®Æc ®iÓm nµy cña s¶n phÈm lµ næi bËt. Víi kiÕn tróc 3 tÇng, VQS cã tÝnh më vµ tÝnh ®éc lËp rÊt cao. ViÖc b¶o tr× vµ n©ng cÊp hÖ thèng cã thÓ tiÕn hµnh ë tõng tÇng mµ kh«ng ®ßi hái sù thay ®æi trong phÇn cßn l¹i cña hÖ thèng. §iÒu ®ã cho phÐp ta dÔ dµng chuyÓn ®æi thiÕt kÕ sang c¸c m«i tr­êng tÝnh to¸n m¹nh nh­: m«i tr­êng song song trªn Windows hoÆc Linux, Cluster Computing, Grid Computing,… §Ò tµi ®ßi hái c¸c t¸c gi¶ tæng hîp nhiÒu kiÕn thøc kÕt hîp c¶ to¸n häc vµ tin häc cïng víi sù nç lùc vÒ c«ng nghÖ: sè häc, gi¶i tÝch phøc, ®¹i sè, x¸c suÊt, ®é phøc t¹p thuËt to¸n, c¬ së d÷ liÖu, ph©n tÝch thiÕt kÕ hÖ thèng,… ®Ó hiÓu c¸c thuËt to¸n l­îng tö, tõ ®ã chuyÓn sang thiÕt kÕ ®­îc ch­¬ng tr×nh m« pháng tÝnh to¸n trªn SQL. Ch­¬ng 2. Ng«n ng÷ SQL vµ sù t­¬ng thÝch víi m« h×nh tÝnh to¸n l­îng tö Ng«n ng÷ SQL Nh­ ®· nªu s¬ bé ë phÇn trªn, lý do lùa chän SQL ®­îc thÓ hiÖn qua nh÷ng ®Æc ®iÓm quan träng cña SQL, vÒ tæng quan cã thÓ xem ch¼ng h¹n [11]. ë ®©y ta ®Ò cËp thªm nh÷ng lý do ®­îc mäi ng­êi quan t©m. a) SQL lµ ng«n ng÷ chuÈn mùc, ®· ®­îc ANSI vµ ISO thõa nhËn nh­ lµ mét ng«n ng÷ chuÈn vÒ xö lý d÷ liÖu, v× vËy d÷ liÖu cã thÓ ®­îc truy xuÊt theo nhiÒu ph­¬ng thøc kh¸c nhau, cho c¶ m¸y PC, c¸c m¸y tÝnh mini, vµ c¸c mainframe . Mét ­u ®iÓm kh¸c cña SQL lµ cã thÓ cung cÊp d÷ liÖu cho nh÷ng phÇn mÒm kh¸c kh«ng ph¶i lµ DBMS, nh­ c¸c hÖ xö lý v¨n b¶n vµ c¸c b¶ng tÝnh ®iÖn tö ... b) SQL thuéc lo¹i ng«n ng÷ thÕ hÖ thø 4, h­íng phi thñ tôc, ®· ®­îc nghiªn cøu nhiÒu n¨m qua, vµ ®ang nhanh chãng trë thµnh tiªu chuÈn trªn thÕ giíi vÒ xö lý d÷ liÖu theo m« h×nh quan hÖ . Ngµy nay, trong m«i tr­êng cña ng«n ng÷ thÕ hÖ 4, SQL ®· x©m nhËp vµo mäi CSDL (C¬ së d÷ liÖu) theo m« h×nh quan hÖ trªn thÞ tr­êng, thÝch øng víi hÇu hÕt c¸c lo¹i phÇn cøng vµ hÖ ®iÒu hµnh . c) SQL lµ ng«n ng÷ truy vÊn d÷ liÖu cã cÊu tróc, tu©n theo nh÷ng qui t¾c nhÊt ®Þnh. Cã 4 lo¹i lÖnh trong SQL: + Lo¹i thø nhÊt lµ nh÷ng Querry , dïng ®Ó truy vÊn d÷ liÖu . + Lo¹i thø hai lµ nh÷ng lÖnh ng«n ng÷ ®Þnh nghÜa d÷ liÖu ( DDL ) , cho phÐp khëi t¹o c¸c b¶ng d÷ liÖu qu¶n lý ®èi t­îng ch¼ng h¹n nh­ c¸c TABLE , c¸c VIEW . + Lo¹i thø ba lµ nh÷ng lÖnh ng«n ng÷ xö lý d÷ liÖu ( DML ), dïng ®Ó ®äc l¹i, xo¸ ®i hoÆc thªm vµo CSDL . + Nh÷ng lÖnh ng«n ng÷ kiÓm so¸t d÷ liÖu ( DLC ) dïng ®Ó "giao quyÒn" hoÆc " thu håi quyÒn" xÕp lo¹i d÷ liÖu . Ng­êi sö dông cã thÓ gâ vµo mét c¸ch trùc tiÕp nh÷ng lÖnh SQL, hoÆc lµ th«ng qua c¸c giao diÖn. LÖnh cña SQL kh«ng nhiÒu, gÇn gièng víi tiÕng Anh, do ®ã ng­êi sö dông cã thÓ truy xuÊt nhanh nh÷ng CSDL lín mµ kh«ng cÇn lËp tr×nh. SQL lµ ng«n ng÷ truy cËp vµ xö lý d÷ liÖu mµ ®èi t¸c cña nã lµ nh÷ng CSDL theo m« h×nh quan hÖ. Do vËy, nh÷ng tiÕp cËn tÝnh to¸n lín mµ cã thÓ øng dông ph­¬ng ph¸p biÓu diÔn theo ®¹i sè quan hÖ cã thÓ dùa vµo SQL ®Ó thùc hiÖn c¸c thao t¸c tÝnh to¸n c¬ b¶n. d) C¸c chøc n¨ng SQL Th«ng qua nh÷ng ®Æc ®iÓm cña SQL, vµ tuú theo m«i tr­êng, ng­êi sö dông cã thÓ th­êng xuyªn thùc hiÖn c¸c yªu cÇu vÒ d÷ liÖu nh­ : + §Þnh nghÜa d÷ liÖu. + Truy vÊn, gäi xem, b¶o tr× d÷ liÖu. + TÝnh to¸n cËp nhËt d÷ liÖu. + KiÓm so¸t viÖc truy xuÊt d÷ liÖu. + B¶o ®¶m sù an toµn, ph©n chia quyÒn sö dông d÷ liÖu. + B¶o vÖ sù toµn vÑn d÷ liÖu .. . Sù t­¬ng thÝch chÆt chÏ gi÷a SQL vµ tÝnh to¸n l­îng tö + SQL ®èi xö víi c¸c b¶n ghi mét c¸ch b×nh ®¼ng. NÕu coi mçi truy vÊn SQL lµ mét ®¬n vÞ tÝnh ®é phøc t¹p th× víi mçi truy vÊn ta cã thÓ t¸c ®éng lªn tÊt c¶ c¸c b¶n ghi. Do vËy, nÕu sö dông mét b¶n ghi cña b¶ng ®Ó l­u mét c¬ së th× ta cã thÓ t¸c ®éng ®ång thêi vµo toµn bé superposition, kh«ng ph©n biÖt gi÷a c¸c c¬ së. Nh­ vËy gi÷a truy vÊn CSDL vµ nh÷ng phÐp biÕn ®æi l­îng tö cã sù gièng nhau vÒ mÆt b¶n chÊt lµ t¸c ®éng ®ång thêi lªn tÊt c¶ c¸c ®èi t­îng. + PhÐp JOIN cho phÐp kÕt nèi hai b¶ng, lµm t¨ng sè cét. Ta cã thÓ sö dông truy vÊn nµy ®Ó m« pháng phÐp lÊy tÝch tens¬ cña hai thanh ghi - mét thao t¸c kh«ng thÓ thiÕu trong c¸c thuËt to¸n l­îng tö. + Sö dông truy vÊn cã kÕt hîp GROUP BY ta cã thÓ ph©n líp c¸c b¶n ghi. §iÒu nµy t¹o ra hai ­u ®iÓm sau ®©y khi m« pháng tÝnh to¸n l­îng tö: Thø nhÊt, c¸c phÐp biÕn ®æi l­îng tö nhiÒu khi t¸c ®éng lµm cho mét vect¬r c¬ së bÞ biÕn ®æi, sinh ra mét sè vect¬ c¬ së kh¸c. Ch¼ng h¹n phÐp Hadamard : VËy VËy Thø hai, nhê sö dông GROUP BY, sau khi t¸c ®éng lªn hÖ thèng ta cã thÓ gép c¸c c¬ së gièng nhau. Ch¼ng h¹n: q1 Im Re 0 1 q1 Im Re 0 1 0 1 - q1 Im Re 0 1 M« pháng tÝnh to¸n l­îng tö bëi SQL TÝnh chÊt (vÒ mèi quan hÖ gi÷a m« h×nh c¬ së d÷ liÖu víi m« h×nh siªu tr¹ng th¸i l­îng tö): M« h×nh c¬ së d÷ liÖu quan hÖ cã thÓ m« pháng tr¹ng th¸i cña mét thanh ghi l­îng tö bÊt k×. Chøng minh: Siªu tr¹ng th¸i cña thanh ghi gåm n qubit cã d¹ng tæng qu¸t nh­ sau: Ta sÏ m« pháng tr¹ng th¸i trªn b»ng b¶ng quan hÖ Superposition sau ®©y: q1 q2 … qn Im Re 0 0 … 0 … … … ... … … 1 1 … 1 Trong ®ã : Nh­ vËy, ta cã t­¬ng øng : Siªu tr¹ng th¸i B¶ng quan hÖ tr¹ng th¸i. C¸c phÐp biÕn ®æi trªn siªu tr¹ng th¸i trë thµnh c¸c phÐp biÕn ®æi trªn quan hÖ mµ ta cã thÓ sö dông c¸c c©u lÖnh SqL (xem phÇn sau). NhËn xÐt: + NÕu siªu tr¹ng th¸i cã d¹ng: (trong ®ã ) th× mçi vÐc t¬ c¬ së d­îc biÓu diÔn nhÞ ph©n b»ng mét hµng gåm n cét ®Çu cña b¶ng. PhÇn thùc, ¶o cña to¹ ®é t­¬ng øng víi ®­îc biÓu diÔn b»ng cét Im, Re t­¬ng øng. + Kh«ng thÓ hiÖn nh÷ng vect¬ c¬ së mµ =0. §iÒu nµy gióp cho viÖc tÝnh to¸n, l­u tr÷ ®­îc thuËn lîi vµ kh«ng d­ thõa. Sau ®©y lµ ®Þnh lý c¬ b¶n ®ãng vai trß c¬ së cho viÖc x©y dùng c¸c øng dông m« pháng tÝnh to¸n l­îng tö b»ng SQL. §Þnh lý c¬ b¶n vÒ tÝnh ®óng ®¾n cña phÐp m« pháng §Þnh lý: Sö dông truy vÊn SQL trªn c¬ së d÷ liÖu quan hÖ cã thÓ biÓu diÔn mäi tÝnh to¸n l­îng tö c¬ b¶n (bao gåm c¸c biÕn ®æi Unita vµ phÐp ®o). Chøng minh. Tr­íc hÕt ta cã nhËn xÐt: cã hai lo¹i phÐp biÕn ®æi c¬ b¶n ®­îc thùc hiÖn trong tÝnh to¸n l­îng tö, ®ã lµ phÐp biÕn ®æi Unita vµ phÐp biÕn ®æi kh«ng Unita, trong ®ã líp phÐp biÕn ®æi kh«ng Unita chØ cã phÐp ®o. H¬n n÷a trong líp c¸c phÐp biÕn ®æi Unita, G= lµ tËp cæng phæ dông (trong ®ã ®­îc x¸c ®Þnh ë d­íi, xem thªm [4,5,6,8]). Nh­ vËy ta sÏ chøng minh: sö dông ng«n ng÷ SQL trªn c¬ së d÷ liÖu quan hÖ cã thÓ m« pháng ®­îc hai cæng vµ phÐp ®o. i) Cæng U control1 control2 target Trong ®ã: T¸c ®éng cu¶ : Gi¶ sö mét siªu tr¹ng th¸i ®· ®­îc cho d­íi d¹ng b¶ng quan hÖ Superposition: q1 q2 q3 Im Re 0 0 0 ... ... ... ... ... 1 1 0 1 1 1 q1 q2 q3 Im Re 0 0 0 ... ... ... ... ... 1 1 0 1 1 1 Thùc hiÖn b»ng truy vÊn SQL: Select * into Tam from Superposition Update Superposition set q@target=1- q@target where q@control1=1, q@control2=1 Update Superposition set Im=Im.,Re=Re. where q@control1=1, q@control2=1 Update Tam set Re=-Re., Im=-Im. where q@control1=1,q@control2=1,q@target=1 Update Tam set Re=Re., Im=Im. where q@control1=1,q@control2=1,q@target=0 Insert into Tam select * from Superposition Drop table Superposition Select q1,q2,...,qn, sum(Re) as Re, sum(Im) as Im into Superposition from Tam group by q1,q2,...,qn Drop table Tam ii) Cæng W control1 cotrol2 target Trong ®ã: T¸c ®éng cu¶ : NhËn xÐt: ChØ nh÷ng c¬ së mµ q@control1 = q@control2 = q@target = 1 míi bÞ nh©n thªm D­íi d¹ng b¶ng : q1 q2 q3 Im Re 0 0 0 ... ... ... ... ... 1 1 0 1 1 1 q1 q2 q3 Im Re 0 0 0 ... ... ... ... ... 1 1 0 1 1 1 Thùc hiÖn b»ng truy vÊn SQL: Alter table Superposition add tam Update Superposition set tam=Im Update Superposition set Im= Re= where q@control1=1,q@control2=1,q@target=1 Alter table Superposition drop tam Nh­ vËy, ta ®· thùc hiÖn ®­îc c¸c cæng . TËp lµ trï mËt trong nhãm c¸c ma trËn unita 8x8. lµ tËp trï mËt trong nhãm c¸c ma trËn unita . §Ó t¹o ra tõ ta dïng ph­¬ng ph¸p qui n¹p: sö dông thªm phÐp And cña 2 bit ®Çu tiªn b»ng TOFFOLI( CCNOT), ghi kÕt qu¶ lªn bit phô. Sau ®ã ¸p dông ta sÏ thu ®­îc . iii) PhÐp And a a b b c cab D¹ng b¶ng: a b c Im Re 0 0 0 ... ... ... ... ... 1 1 0 1 1 1 a b c Im Re 0 0 0 ... ... ... ... ... 1 1 1 1 1 0 NhËn xÐt: Bit c bÞ lËt tr¹ng th¸i khi vµ chØ khi a = b = 1. Thùc hiÖn b»ng truy vÊn SQL: Update Superposition set q@target=1-q@target where q@control1=1,qa@control2=1 . NhËn xÐt r»ng, ®Ó thùc hiÖn tÝnh to¸n, nhiÒu khi ph¶i sö dông 2 thanh ghi cã t­¬ng t¸c (correlation) víi nhau. Do vËy cÇn ph¶i m« pháng phÐp lÊy tÝch tensor 2 thanh ghi. iv) M« pháng phÐp lÊy tÝch tens¬ hai thanh ghi XÐt phÐp lÊy tÝch tens¬ hai thanh ghi cã tr¹ng th¸i sau ®©y: Reg1: . HÖ thèng gåm n qubit. Reg2: . HÖ thèng gåm m qubit. Sau khi lÊy tÝch tensor ph¶i thu ®­îc: Reg1ÄReg2= =+... + D­íi d¹ng b¶ng, Reg1 lµ q11 q12 … q1n Im1 Re1 0 0 … 0 … … … ... … … 1 1 … 1 Reg2 lµ q21 q22 … q2m Im2 Re2 0 0 … 0 … … … ... … … 1 1 … 1 Reg1Ä Reg2 lµ q11 … q1n q21 ... q2m Im Re 0 … 0 0 ... 0 … … ... ... ... … … 1 … 1 1 ... 1 Thùc hiÖn b»ng truy vÊn SQL: Select * into Tensor from Reg1cross join Reg2 Alter table Tensor add Im,Re Update Tensor set Im=Im1.Re2+Im2.Re1 Re=Im1.Im2-Re1.Re2 Alter table Tensor drop Im1,Im2,Re1,Re2. §Õn ®©y ta ®· chøng minh ®­îc mäi phÐp biÕn ®æi Unita trong tÝnh to¸n l­îng tö ®Òu cã thÓ m« pháng ®óng ®¾n bëi ng«n ng÷ SQL trªn c¬ së d÷ liÖu. §Ó hoµn thiÖn chøng minh, ta cÇn chøng minh sù ®óng ®¾n víi phÐp ®o. v) PhÐp ®o PhÐp ®o lµ phÐp t¸c ®éng lªn mét tËp c¸c qubit cña mét thanh ghi l­îng tö. NÕu gäi i1,i2,...,ik lµ tËp c¸c chØ sè cña c¸c qubit trong mét thanh ghi n qubit cÇn ®o, khi ®ã phÐp ®o sÏ thùc hiÖn phÐp chiÕu tr¹ng th¸i cña thanh ghi lªn mét kh«ng gian con bÊt k× trong 2k kh«ng gian con ®­îc sinh bëi sù tæ hîp cña k qubit trªn, trong ®ã øng víi mçi kh«ng gian con, x¸c suÊt ®Ó tr¹ng th¸i thanh ghi r¬i vµo phô thuéc vµo biªn ®é cña c¸c tr¹ng th¸i trong thanh ghi ban ®Çu. ThuËt to¸n thùc hiÖn phÐp ®o nh­ sau: b1: t¹o b¶ng CollectingTable gåm cã (k+1) cét, víi tªn cét lÇn l­ît lµ: b2: ®iÒn toµn bé 2k c¬ së vµo b¶ng CollectingTable b3: gi¸ trÞ cña tr­êng Prob sÏ ®­îc tÝnh b»ng tæng x¸c suÊt cña c¸c c¬ së trong b¶ng Superposition mµ cã gÝa trÞ cña c¸c qubit øng víi b»ng gi¸ trÞ t­¬ng øng trong b¶ng CollectingTable (b¶ng Superposition biÓu diÔn tr¹ng th¸i cña thanh ghi hiÖn hµnh). b4: ®o toµn bé thanh ghi CollectingTable. Tr¹ng th¸i míi sau khi ®o sôp ®æ theo qui luËt cña hµm sãng sÏ ®­îc l­u tr÷ trong b¶ng tblMaxRow. b5: ®èi chiÕu c¬ së duy nhÊt trong tblMaxRow víi thanh ghi Superposition ®Ó läc ra nh÷ng c¬ së cã c¸c gi¸ trÞ cña c¸c qubit trïng nhau trong 2 b¶ng. ThuËt to¸n ®­îc thÓ hiÖn d­íi d¹ng truy vÊn nh­ sau: Tr­íc hÕt t¹o thñ tôc CreateCollectingTable ®Ó hiÖn b­íc 1: Create Table CollectingTable ( prob float ) j = 1 While (j <= k) Begin Alter Table CollectingTable Add int j := j + 1 End TiÕp theo ta thùc hiÖn ®iÒn 2k c¬ së vµo b¶ng CollectingTable b»ng thñ tôc InsertBases: Set n = 0 While(n < power(2,k)) Begin exec BiGenerate n,k,valuestr output IinsertIinto CollectingTable Values valuestr n: = n + 1 End (Thñ tôc BiGenerate sÏ sinh ra sè nhÞ ph©n k ch÷ sè tõ sè n ®ång thêi biÕn sè nhÞ ph©n ®ã thµnh d¹ng x©u chuÈn ®Ó ®­a vµo c©u lÖnh Insert.) §Ó thùc hiÖn b­íc 3 ®iÒn gi¸ trÞ vµo tr­êng Prob, ta thùc hiÖn thñ tôc InsertCollectingTable: Alter table superposition Add prob As square(re) + square(im) Update collectingtable Set Prob = (Select sum(s.Prob) From Superposition s Where and ... and ) Sau khi t¹o ®­îc b¶ng Collectingtable, ta dïng thñ tôc CreateTblMaxRow thùc hiÖn b­íc 4: Select maxprob = max(Prob) From collectingtable Select * Into tblmaxrow From collectingtable Where Prob = maxprob Thñ tôc EditMaxrow ®­îc dïng ®Ó kiÓm tra b¶ng tblmaxrow trong tr­êng hîp b¶ng cã nhiÒu h¬n mét hµng, x¶y ra khi siªu tr¹ng th¸i cña ta cã nhiÒu c¬ së cïng ®¹t x¸c suÊt cao nhÊt, ta sÏ gi÷ l¹i ngÉu nhiªn mét c¬ së bÊt k×. Select n = count(Prob) From tblmaxrow if( n > 1) Begin Alter Ttable tblmaxrow Ad® ind As Declare curInd Scroll Cursor For Select ind From tblmaxrow Open curInd Select row = count(Prob) From tblmaxrow exec RandId = random row F etch Absolute RandId From curInd Into i Delete From tblmaxrow Where ind i End (Hµm random(n) sÏ sinh mét sè nguyªn ngÉu nhiªn n»m trong kho¶ng [1,n]) Cuèi cïng ta thùc hiÖn thñ tôc Measure ®Ó thùc hiÖn b­íc 5: Delete From superposition s From tblmaxrow t Where ( or or ... or ) PhÐp chøng minh ®Þnh lý ®­îc hoµn thµnh. ð M« pháng mét sè cæng l­îng tö phæ dông Sau ®©y lµ mét sè vÝ dô ¸p dông SQL cho c¸c cæng l­îng tö c¬ b¶n kh¸c i) Cæng HADAMARD D¹ng m¹ch H D¹ng ma trËn: Thùc hiÖn: XÐt superposition tæng qu¸t: Cæng HADAMARD t¸c ®éng trªn qubit thø k cña hÖ thèng n qubit g©y nªn sù biÕn ®æi nh­ sau: Víi mäi bé trong ®ã . Thùc hiÖn b»ng SQL: Select * into Tam from Superposition Update Superposition set q@target=1- q@target Update Superposition set Im=Im,Re=Re Update Tam set Re=-Re , Im=-Im where q@target=1 Update Tam set Re=Re/ , Im=Im where q@target=0 Insert into Tam select * from Superposition Drop tabl e Superposition Select q1,q2,...,qn, sum(Re) as Re, sum(Im) as Im into Superposition from Tam group by q1,q2,...,qn Drop table Tam ii) Cæng NOT not D¹ng ma trËn: Ho¹t ®éng: XÐt superposition tæng qu¸t: Thùc hiÖn cæng NOT trªn qubit thø k ta thu ®­îc: M« pháng b»ng SQL: Update @table set qk=1-qk iii) Cæng CNOT D¹ng ma trËn: Ho¹t ®éng: XÐt superposition tæng qu¸t: Thùc hiÖn cæng NOT víi qubit thø t lµ bit control, qubit thø k lµ bit target ta thu ®­îc: nÕu =1 nÕu =0 M« pháng b»ng SQL: Update @table set qk=1-qk where qt=1 NhËn xÐt: Vai trß cña ®Þnh lý c¬ b¶n cã ý nghÜa thùc tiÔn lín v× c¸c cæng phæ dông c¬ b¶n ®­îc biÓu diÔn sang c©u lÖnh SQL ®­a vµo d­íi d¹ng biªn dÞch s½n (Stored Procedure) gióp t¨ng tèc qu¸ tr×nh tÝnh to¸n m« pháng trªn m«i tr­êng d÷ liÖu lín h­íng m¹ng, song song, ph©n t¸n. Ch­¬ng 3. Ng«n ng÷ QuML vµ kiÕn tróc hÖ thèng Visual Quantum Studio (VQS) PhÇn nµy dµnh cho viÖc tr×nh bµy vÒ kiÕn tróc 3 tÇng cña s¶n phÈm, trong ®ã sÏ tËp trung vµo ng«n ng÷ m« t¶ m¹ch l­îng tö dùa trªn chuÈn XML do chóng t«i thiÕt kÕ, ®­îc ®Æt tªn lµ QuML. KiÕn tróc hÖ thèng Visual Quantum Studio HÖ thèng VQS ®­îc chia thµnh 2 hÖ thèng con vµ gåm 3 tÇng: + HÖ thèng giao diÖn ®å ho¹ th©n thiÖn hç trî tèi ®a viÖc thiÕt kÕ m¹ch l­îng tö + HÖ thèng m¸y ¶o thùc thi c¸c c©u lÖnh l­îng tö c¬ b¶n: m¸y ¶o côc bé vµ m¸y ¶o trªn SQL Server, ... Hai hÖ thèng nµy trao ®æi th«ng tin vÒ m¹ch l­îng tö th«ng qua mét ng«n ng÷ cã cÊu tróc lµ QuML. KiÕn tróc nµy sÏ t¹o ra sù thuËn lîi trong viÖc ph¸t triÓn ®éc lËp c¸c thµnh phÇn trong hÖ thèng. ViÖc tèi ­u ho¸ tõng thµnh phÇn cã thÓ thùc hiÖn ®éc lËp mµ kh«ng liªn quan tíi c¸c thµnh phÇn kh¸c. Víi c¸c giao diÖn ®­îc chuÈn ho¸ gi÷a c¸c thµnh phÇn trong hÖ thèng gióp cho viÖc b¶o tr×, ph¸t triÓn ®­îc dÔ dµng. HÖ thèng giao diÖn ®å häa Nh÷ng ®èi t­îng c¬ b¶n cña giao diÖn ®å häa trong hÖ thèng VQS S¬ ®å qu¶n lý c¸c ®èi t­îng ®å häa: QuCircuit (m¹ch) QuRegister (thanh ghi) QuBit (bit) Operator Observer QuGate Implement Oracle Qubit Thuéc tÝnh : - Name - Text - Alpha - Beta - Status observer Ph­¬ng thøc : - §æi tªn, ®æi text - ThiÕt lËp gi¸ trÞ Alpha, Beta. - Chän, xo¸ QuRegister Thuéc tÝnh : - Name - Text - Danh s¸ch QuBit - Circuit chøa nã - Inside / Outside Ph­¬ng thøc : - §æi tªn, ®æi text - §æi kiÓu Inside Outside - Xo¸, thªm bit Operator Thuéc tÝnh : - Name - Text - Danh s¸ch QuBit - Linkbits - State Ph­¬ng thøc: - §æi tªn, ®æi text. - §æi kiÓu néi dung Linkbit. - Xo¸, söa. Ng«n ng÷ m« t¶ m¹ch l­îng tö QuML (Quantum Marked up Language) Giíi thiÖu vÒ XML XML lµ mét ®Ò xuÊt cña tæ chøc World Wide Web Consortium (W3C), mét nhãm ®a c«ng ty ®· ®Þnh nghÜa XHTML vµ tiÒn th©n cña ng«n ng÷ nµy lµ HTML. XML lµ mét ph­¬ng tiÖn mang c¸c d÷ liÖu kh¶ dông tíi m¸y tÝnh c¸ nh©n vµ lµ mét ®Þnh d¹ng d÷ liÖu tæng qu¸t – nã cung cÊp nh÷ng thÎ ®¸nh dÊu cÇn thiÕt. V× m· nguån cña c¸c ng«n ng÷ ®­îc ®Þnh d¹ng trong XML gièng nh­ HTML, nªn so s¸nh hai ng«n ng÷ nµy lµ rÊt h÷u Ých. XML bao gåm c¸c tr­êng ®­îc lång nhau theo kiÓu ph¶ hÖ gièng nh­ HTML, nã còng rÊt dÔ ®äc, vµ dÔ chuyÓn ®æi. Tuy nhiªn, nÕu HTML chøa c¸c tiªu ®Ò, ®Çu ®Ò, vµ c¸c ®Þnh d¹ng hiÓn thÞ kÝ tù, ... th× XML cã thÓ chøa kh¸ch hµng, sè ho¸ ®¬n, gi¸ c¶, hay bÊt k× mét yÕu tè th«ng tin nµo mµ ta cÇn. XML lµ hoµn toµn më do ®ã ta cã thÓ bæ sung nh÷ng thÎ míi vµ nh÷ng yÕu tè míi ®Ó hç trî cho øng dông… (xem thªm [15]). H¹t nh©n cña XML Th«ng tin cã cÊu tróc bao gåm c¶ néi dung (tõ ng÷, h×nh ¶nh, ...) vµ mét gîi ý vÒ chøc n¨ng cña néi dung ®ã. VÝ dô, néi dung trong mét phÇn tiªu ®Ò cã mét ý nghÜa kh¸c víi néi dung trong mét chó thÝch, vµ còng kh¸c víi néi dung trong mét ghi chó h×nh vÏ hay mét b¶ng trong c¬ së d÷ liÖu. §Æc t¶ XML ®Þnh nghÜa mét ph­¬ng thøc chuÈn ®Ó cÊu tróc c¸c phÇn ®¸nh dÊu cña c¸c tµi liÖu. Lý do sö dông XML C¸c lËp tr×nh viªn t¹o ra XML ®Ó nh÷ng tµi liÖu cã cÊu tróc chÆt chÏ cã thÓ ®­îc sö dông trªn Web. Nh÷ng ng«n ng÷ cã thÓ lµm ®­îc ®iÒu nµy, HTML vµ SGML (Standard Generalized Markup Language), l¹i kh«ng thùc tÕ cho môc ®Ých nµy. HTML th× bÞ giíi h¹n bëi mét tËp c¸c ng÷ nghÜa vµ kh«ng cung cÊp mét cÊu tróc bÊt k×. SGML th× cung cÊp mét cÊu tróc bÊt k×, nh­ng viÖc cµi ®Æt SGML l¹i qu¸ khã ®èi víi mét tr×nh duyÖt Web. XML kh«ng ®Þnh nghÜa c¸c ng÷ nghÜa còng nh­ kh«ng ®Þnh nghÜa mét tËp c¸c thÎ. Nã lµ mét siªu ng«n ng÷ (metalanguage) ®Ó m« t¶ c¸c ng«n ng÷ ®¸nh dÊu vµ cung cÊp mét c¬ së cho viÖc ®Þnh nghÜa c¸c thÎ vµ quan hÖ cÊu tróc gi÷a chóng. V× vËy kh«ng cã mét tËp c¸c thÎ ®Þnh nghÜa s½n, còng kh«ng cã mét ng÷ nghÜa tiÒn ®Þnh nµo trong XML. Ng÷ nghÜa cña mét tµi liÖu XML sÏ ®­îc ®Þnh nghÜa hoÆc bëi c¸c ch­¬ng tr×nh xö lÝ chóng hoÆc bëi c¸c kiÓu d¹ng mÉu (style sheet). Do vËy chóng t«i lùa chän XML lµm ng«n ng÷ ®Ó x©y dùng nªn QuML. Nh÷ng yªu cÇu ®èi víi ng«n ng÷ QuML. + Ng«n ng÷ nµy ph¶i m« t¶ ®­îc cÊu tróc cña c¸c m¹ch tuÇn tù nhiÒu qubit. + M« t¶ c¸c cæng phøc hîp vµ m« t¶ ®­îc sù l¾p c¸c cæng ®ã vµo m¹ch nhiÒu qubit. + Cã kh¶ n¨ng m« t¶ viÖc bæ sung thªm c¸c qubit vµo m¹ch. + M« t¶ c¸c phÐp ®o. + M« t¶ c¸c qubit theo tËp hîp c¸c thanh ghi. + M« t¶ giao diÖn riªng cña tõng lo¹i cæng phøc hîp. + Cã kh¶ n¨ng cho phÐp khai b¸o nh÷ng kiÓu cæng phøc hîp míi dùa trªn c¸c cæng cã s½n (built in) vµ c¸c cæng phøc hîp tù t¹o kh¸c. + TÊt c¶ c¸c tµi liÖu ®Òu b¾t ®Çu b»ng thÎ Nh÷ng ®èi t­îng cÇn m« t¶ cña ng«n ng÷ QuCircuit, QuRegister, QuBit, QuGate, QuObserver, ... Các khai báo cho các đối tượng này a. QuSpace Kh«ng gian tªn l­îng tö, trong kh«ng gian tªn l­îng tö ta cã thÓ ®Þnh nghÜa c¸c cæng hoÆc c¸c kh«ng gian tªn l­îng tö cÊp thÊp cña nã. CÊu tróc cña c¸c kh«ng gian tªn: NameSpace1.NameSpace2.... Khai b¸o kh«ng gian tªn l­îng tö cã thÓ lµ khai b¸o tuyÖt ®èi hoÆc khai b¸o tuÇn tù. VD: b. QuCircuit T¹o ra mét m¹ch l­îng tö ®Ó tÝnh to¸n LÖnh: MÆc ®Þnh lµ c¸c qubit trong mét m¹ch l­îng tö lµ Outside. Nh­ng vÉn cho phÐp lµ cã c¸c gi¸ trÞ khëi ®Çu. Trong phÇn giao diÖn th× c¸c thanh ghi Outside sÏ ®­îc ®Æt ë thø tù ®øng tr­íc. Sau ®ã lµ tíi c¸c thanh ghi Inside. Kh«ng nªn ®Æt xen kÏ. Cã thÓ lµ thanh ghi Outside ®Ó sau nh­ng khi biªn dÞch th× tr×nh dÞch sÏ tù ®éng chuyÓn chóng lªn ®Çu. TÊt nhiªn lµ kh«ng ¶nh h­ëng g× v× ta tham chiÕu côc bé th«ng qua tªn vµ ID cña qubit. c. GateType T¹o mét cæng phøc, lµ tæ hîp cña c¸c cæng kh¸c, cã thÓ lµ cæng c¬ b¶n hoÆc c¸c cæng phøc kh¸c. d. QuRegister T¹o ra mét thanh ghi l­îng tö ®Ó ®­a vµo hÖ thèng LÖnh: C¸c lÖnh t¹o thanh ghi chØ ®­îc phÐp xuÊt hiÖn trong phÇn giao diÖn (®Ó ®¬n gi¶n cho viÖc xö lÝ). e. QuBit T¹o ra mét qubit ®Ó ®­a vµo hÖ thèng trong bèi c¶nh mét thanh ghi, tøc lµ nh÷ng lÖnh nµy chØ ®­îc chÊp nhËn khi nã n»m trong mét cÊu tróc thanh ghi. LÖnh: Tªn cña QuBit ph¶i viÕt liÒn. f. QuGate T¹o ra mét cæng theo kiÓu ®· ®­îc ®Þnh danh LÖnh tæng qu¸t ®Ó t¹o mét cæng phøc danh s¸ch c¸c bit côc bé cña thanh ghi ®ã Tªn thanh ghi trong LinkedBits lµ tªn thanh ghi trong bèi c¶nh côc bé cña hÖ thèng hoÆc component. Sù nèi nµy theo thø tù nµo? Theo thø tù ®­îc khai b¸o trong phÇn interface. Bit nµo ®­îc khai b¸o tr­íc th× cã thø tù côc bé ë tr­íc. Khi kÕt nèi th× SystemID cña mapped bit sÏ ®­îc chuyÓn vµo c¸c lÖnh thùc hiÖn. g. Observer T¹o ra mét quan s¸t mét qubit hoÆc nhiÒu qubit trong hÖ thèng. LÖnh ®Ó t¹o mét phÐp ®o: danh s¸ch c¸c bit côc bé cña thanh ghi ®ã Tªn cña mçi phÐp ®o yªu cÇu ph¶i lµ duy nhÊt trong bèi c¶nh côc bé. M« t¶ cÊu tróc mét c©u lÖnh khai b¸o kiÓu cæng phøc hîp víi c¸c kiÓu cæng c¬ b¶n ®­îc chÊp nhËn lµ: NOT, CNOT, HADAMAR, TOFFOLI, CPSHIFT (controlled phase shift),… dùa trªn kÕt qu¶ nghiªn cøu tËp cæng phæ dông vµ c¸c cæng hay sö dông trong c¸c thuËt to¸n l­îng tö. C¸c th«ng sè cho nh÷ng cæng c¬ b¶n: ®­îc khai b¸o kÌm víi thÎ QuGate nh­ mét thuéc tÝnh cña thÎ. VÝ dô: Cæng CPSHIFT cÇn thªm th«ng sè vÒ gãc quay Phase Nh÷ng vÝ dô m¹ch c¬ b¶n. VÝ dô 1: M¹ch kh«ng cã c¸c component phøc, kh«ng cã QuReg côc bé M¹ch céng hai sè hai bit: AB + CD = EFG : CNOT : TOFFOLI A B C D 0 0 0 A B C D E F G 1, 3 1 1, 3 3 2 1, 3 0, 2 0 0, 2 2 1, 0 2 1 0, 2 0, 1, 2, 3 0, 1, 2 VÝ dô 2: M¹ch cã sö dông oracle x x y yf(x) f M¹ch cã sö dông oracle ®ãng vai trß quan träng trong c¸c thuËt to¸n l­îng tö, nã lµm cho c¸c thuËt to¸n l­îng tö trë lªn uyÓn truyÓn h¬n rÊt nhiÒu. §Ó x©y dùng c¸c cæng oracle thuËn tiÖn cho ng­êi dïng, ch­¬ng tr×nh cã sö dông bé ph©n tÝch biÓu thøc sè häc ®­îc biÓu diÔn d­íi d¹ng cÊu tróc d÷ liÖu c©y nhÞ ph©n. VÝ dô m¹ch m« t¶ thuËt to¸n Deutch-Joza: 0 1 0, 1 0 1 0 0, 1 Các bước phân tích mạch: §Çu tiªn x©y dùng cÊu tróc c¸c kh«ng gian tªn vµ c¸c ®Þnh nghÜa cæng t­¬ng øng. Víi c¸c file .quml, ta cung cÊp c¸c thÎ . Sau ®ã khi biªn dÞch ta sÏ chuyÓn c¸c thÎ côc bé ®ã sang c¸c tªn cña kh«ng gian tªn tuyÖt ®èi cña nã. Khi ®Æt c¸c ®èi t­îng ®å ho¹ trùc quan vµo hÖ thèng th× ta sö dông kh«ng gian tªn tuyÖt ®èi ®Ó m« t¶ nã. Trong c¸c file .quml chØ cho phÐp mét thÎ mµ th«i vµ ®ã ®iÓm khëi ®Çu cña m¹ch. Trong c¸c file chøa component ta cã thÓ cho resource lµ ¶nh bitmap. Ngoµi ra viÖc dông thªm c¸c thÎ bæ trî gióp thuËn tiÖn cho øng dông. Nh­ cÊu tróc cña file project nh»m l­u tr÷ th«ng tin vÒ mét project. //Sau nµy cã thÓ cho phÐp include c¶ nh÷ng file resource Xö lÝ c¸c file .quproj: + Ph©n tÝch c¸c th«ng tin ®Ó liªn kÕt c¸c file ref vµ c¸c file m¹ch nguån. + X©y dùng cÊu tróc kh«ng gian tªn trong bé nhí kÌm theo c¸c ®èi t­îng cæng (lµ c¸c l¸ trong c©y ®ã). Mçi l¸ nªn cã kiÓu cña nã. Trong mçi l¸ lµ mét ®èi t­îng cæng sÏ chøa th«ng tin vÒ giao diÖn bªn ngoµi cña ®èi t­îng ®ã, nh÷ng thuéc tÝnh bªn ngoµi cña nã, nh»m t¹o thuËn lîi cho viÖc t¹o giao diÖn. + Nh÷ng kiÕn tróc bªn trong chØ cho phÐp thÓ hiÖn khi m« pháng (debug khi m« pháng). CÊu tróc cña file .qugate nªn chøa c¸c th«ng tin thuËn lîi cho qu¸ tr×nh biªn dÞch sao cho tËn dông ®­îc tÝnh chÊt lµ ®· biªn dÞch mét lÇn råi. Ch¼ng h¹n c¸c th«ng tin vÒ kh«ng gian tªn ch¼ng h¹n. CÊu tróc cña file qugate a. PhÇn th«ng tin thu ®­îc sau qu¸ tr×nh biªn dÞch. Th«ng tin vÒ c¸c file tham chiÕu: ®Æt trong thÎ Khi biªn dÞch, hoÆc ngay khi bæ sung(add) mét referrence vµo project th× hÖ thèng sÏ ph¶i t×m tíi c¸c file nµy tr­íc. T×m trong local hoÆc t×m trong HintPath. Chøa trong thÎ: Gåm c¸c th«ng tin vÒ c¸c lo¹i cæng ®­îc phÐp hiÓn thÞ trong toolbox (nh÷ng cæng d¹ng public) ®i kÌm lµ kh«ng gian tªn cña nã. Giao diÖn Outside cña nã. (PhÇn nµy b¾t buéc ph¶i cã, nÕu kh«ng cã th× ph¶i b¸o lçi) b. Néi dung ®· biªn dÞch. C¸c th«ng tin ®Çy ®ñ vÒ mét cæng. Giao diÖn trong, ngoµi; KiÕn tróc... Chøa c¸c thÎ ®Çy ®ñ, KiÓu ph¶i lµ kiÓu cã tham chiÕu kh«ng gian tªn tuyÖt ®èi (chø kh«ng ph¶i lµ kh«ng gian tªn t­¬ng ®èi). Khi ta import mét file .qugate vµo hÖ thèng toolbox, nã sÏ cho phÐp ta tham chiÕu ®­îc tÊt c¶ c¸c lo¹i cæng khai b¸o trong file ®ã. TÊt nhiªn lµ nÕu ta check vµo ®ã. Cßn nÕu kh«ng th× ta lo¹i bá. C¸c th«ng tin ®ã cÇn ®­îc l­u tr÷ trong mét file cÊu h×nh cña ch­¬ng tr×nh. Ch¼ng h¹n lµ file Toolbox.config.xml --> Ph¶i cã hép tho¹i cho phÐp cÊu h×nh Toolbox. Nhận xÐt: Nh÷ng tÝnh n¨ng vÒ kh«ng gian tªn l­îng tö, project m¹ch l­îng tö lµ nh÷ng tÝnh n¨ng cã tÝnh më rÊt cao cña hÖ thèng. Nã cho phÐp m« t¶ nh÷ng hÖ thèng lín, phøc t¹p vµ uyÓn chuyÓn. M¸y ¶o thùc hÞªn tÝnh to¸n l­îng tö bëi SQL Server §­îc x©y dùng trªn Stored Procedure, m¸y ¶o nµy cung cÊp tÊt c¶ c¸c thñ tôc cho phÐp hÖ thèng dïng ®Ó thùc hiªn c¸c cæng l­îng tö c¬ b¶n vµ phÐo ®o. Nhê sö dông m«i tr­êng c¬ së d÷ liÖu vµ nh÷ng ®iÓm m¹nh cña SQL Server nªn c¸c Stored Procedure thùc hiÖn c¸c tÝnh to¸n víi tèc ®é rÊt nhanh vµ cã kh¶ n¨ng thùc hiÖn víi d÷ liÖu lín. Nhê sö dông ph­¬ng ph¸p nµy, chóng t«i ®· gi¶i quyÕt ®­îc vÊn ®Ò rÊt c¬ b¶n trong lËp tr×nh lµ kiÓm so¸t d÷ liÖu lín víi ®é an toµn cao. KÕt luËn chung + Víi nh÷ng môc tiªu ®· ®Æt ra, VQS thùc sù trë thµnh mét bé c«ng cô h÷u Ých phôc vô cho viÖc nghiªn cøu, gi¶ng d¹y vµ häc tËp vÒ lÜnh vùc tÝnh to¸n l­îng tö, ®ãng vai trß lµ c«ng cô ®¾c lùc ®Ó trî gióp cho viÖc ho¹t ®éng mét labo nghiªn cøu vÒ m¸y tÝnh l­îng tö trong c¸c viÖn khoa häc, c¸c tr­êng ®¹i häc ë ViÖt Nam. + Do ®­îc thiÕt kÕ më, VQS sÏ ®­îc hoµn thiÖn tõng b­íc trong t­¬ng lai ®Ó thÝch hîp cho viÖc nghiªn cøu nhiÒu h­íng kh¸c nhau cña tÝnh to¸n l­îng tö. + Thêi gian tíi, nhãm sÏ tiÕp tôc hoµn thiÖn ch­¬ng tr×nh víi nhiÒu tÝnh n¨ng míi, thùc hiÖn kh¶ tÝnh to¸n trªn m«i tr­êng song song cho VQS (chØ cÇn thay ®æi hÖ qu¶n trÞ CSDL thÝch hîp ch¼ng h¹n Oracle,…), ®ång thêi tiÕp tôc nghiªn cøu lý thuyÕt, sö dông VQS ®Ó t×m tßi c¸c thuËt to¸n míi. + Tµi liÖu kü thuËt nµy còng sÏ h÷u Ých cho nh÷ng nhãm khoa häc, ®Æc biÖt lµ sinh viªn ngµnh to¸n tin khi quan t©m ®Õn c¸c øng dông c«ng nghÖ cña SQL trong nh÷ng lÜnh vùc hoµn toµn míi cña tÝnh to¸n khoa häc ngoµi nh÷ng môc ®Ých qu¶n lý c¬ së d÷ liÖu truyÒn thèng, gîi ý kh¶ n¨ng t¨ng c­êng søc m¹nh cña SQL cho c¸c môc tiªu míi cña khoa häc tÝnh to¸n. Tµi liÖu tham kh¶o D.Aharonov, Quantum Computation, arXiv: quant-Ph/9810237, 12/1998. Phan Hoµng Anh, øng dông ph­¬ng ph¸p truy vÊn d÷ liÖu trong tÝnh to¸n khoa häc, c«ng tr×nh nghiªn cøu khoa häc khoa To¸n Tin øng dông, tr­êng §HBKHN, 2001 (gi¶i nh× bé, nh× VIFOTEC). A.Barenco, C.H.Bennett, R.Cleve, D.P.D.Divicenzo, N.Margolus, P.W.Shor, T.Sleator, J.Smolin, H.Weinffurter, Elementary Gates For Quantum Computation, arXiv: quant-Ph/950316, 3/1995. A. Ekert, P. Hayden, H. Inamori, Basic Concepts In Quantum Computation, 11/2000, arXiv: quant-ph/0011013. R. Feynman, Quantum Mechanical Computers, Foundations of Physics, 16, No.6. March 1985. L. Grover, A Fast Quantum Mechanical Algorithm For Database Search, Proceedings, STOC 1996. Phạm Hữu Khang, Kỹ thuật lập tr×nh ứng dụng C#. Net toµn tập, tập 1, 2, 3, NXB Lao §éng - X· Héi, 2000. A. Yu. Kitaev, A.H. Shen, M.N. Vyalyi, Classical And Quantum Computation, Graduate Studies in Mathematics volume 47. Damian P. Menscher, Modeling The Quantum Computer On The Classical Computer, 8/1997, PhD program in physics. Univ. Illinois. Honor Thesis. K.Obenland, A. Despain, Simulation Of Factoring On a Quantum Computer Architecture, Proc. of physics of Compitation 1996. D­¬ng ThÕ Quang, Ng«n ng÷ cña c¸c hÖ qu¶n trÞ c¬ së d÷ liÖu- S.Q.L.-Structred Query Language, NXB Thèng Kª, Hµ Néi 1995. B.V.Sabat, Gi¶i tÝch phøc, NXB §¹i Häc Vµ Trung Häc Chuyªn NghiÖp, 1974. Peter W. Shor, Polynomial-Time Algorithms For Prime Dacotrization And Disrete Logarithms On a Quantum Computer, arXiv: quant-ph/ 050802 v2 25 Jan 1996. L¹i §øc ThÞnh, Bµi gi¶ng sè häc, NXB Gi¸o Dôc, 1970. R.Allen Wyke, Sultan Renman, Brad Leupen, XML Programming, Microsoft Press, 2002. Phô lôc. Giíi thiÖu ch­¬ng tr×nh Tæng quan + PhÇn mÒm ®­îc x©y dùng nh»m m« pháng m¹ch l­îng tö cã kh¶ n¨ng thùc thi nh»m trî gióp nghiªn cøu c¸c thuËt to¸n l­îng tö trªn nÒn m¸y tÝnh truyÒn thèng hiÖn cã. B­íc ®Çu phÇn mÒm nµy cung cÊp nh÷ng ®èi t­îng c¬ b¶n cña lý thuyÕt tÝnh to¸n l­îng tö nh­ : thanh ghi l­îng tö, qubit, c¸c cæng c¬ b¶n ... §ång thêi, ch­¬ng tr×nh víi giao diÖn th©n thiÖn cho phÐp ng­êi dïng dÔ dµng thiÕt kÕ mét m¹ch bÊt kú víi nh÷ng thao t¸c kÐo th¶ rÊt quen thuéc. + PhÇn mÒm ®­îc thiÕt kÕ d­íi sù ph©n tÝch kü l­ìng vÒ sù t­¬ng thÝch gi÷a nh÷ng kh¸i niÖm lý thuyÕt vµ søc m¹nh cña nh÷ng c«ng cô hiÖn cã nh­ : ng«n ng÷ lËp tr×nh Visual C#, hÖ qu¶n trÞ c¬ së d÷ liÖu SQL Server 2000, ng«n ng÷ ®Þnh d¹ng më réng XML . + PhÇn mÒm lµ mét nç lùc cña nhãm nh»m phôc vô môc ®Ých l©u dµi nªn chóng t«i thùc hiÖn thiÕt kÕ theo h­íng më, do ®ã sÏ dÔ dµng ®­îc më réng cho c¸c c«ng cô míi sau nµy. + Chóng t«i ®ang vµ sÏ tiÕp tôc n©ng cÊp ®Ó ë nh÷ng phiªn b¶n sau, s¶n phÈm cã kh¶ n¨ng trî gióp nhiÒu tÝnh n¨ng nh­: ®ãng gãi mét cæng phøc hîp do ng­êi dïng x©y dùng, thiÕt kÕ mét m¹ch míi tõ nh÷ng m¹ch ®· cã. + X©y dùng tµi liÖu ®ãng gãi ®Ó cã thÓ bµn giao, t¹o c¬ së cho øng dông tÝnh to¸n cña mét labo vÒ tÝnh to¸n l­îng tö cã qui m«. Chøc n¨ng chÝnh + Ng­êi dïng cã thÓ sö dông nh÷ng c«ng cô ®· ®­îc cung cÊp s½n trªn ToolBox ®Ó x©y dùng m¹ch theo ý muèn b»ng nh÷ng thao t¸c kÐo, th¶ quen thuéc vµ ®iÒn th«ng tin ®Çu vµo th«ng qua nh÷ng DialogBox. + Toµn bé qu¸ tr×nh lµm viÖc trªn mét m¹ch ®­îc qu¶n lý bëi mét ®èi t­îng m¹ch. Trªn nÒn ®èi t­îng ®ã ta míi ®i x©y dùng nh÷ng thµnh phÇn c¬ b¶n nh­: thanh ghi, qubit, cæng ... + Song song víi qu¸ tr×nh x©y dùng m¹ch qua c¸c ®èi t­îng ®å ho¹ ch­¬ng tr×nh cã 2 chøc n¨ng: - Ng­êi dïng cã thÓ ghi l¹i néi dung cÊu tróc m¹ch d­íi ®Þnh d¹ng file *.xml sau khi x©y dùng m¹ch xong mµ sau nµy chÝnh ch­¬ng tr×nh cã thÓ sö dông nh÷ng file nµy ®Ó dùng l¹i m¹ch, theo néi dung file. - Nh÷ng th«ng tin vÒ khëi t¹o m¹ch sÏ ®­îc ®äc tõ file *.xml ®Ó truyÒn vµo CSDL. Sau ®ã nh÷ng thñ tôc ®­îc x©y dùng trong SQL sÏ ®¶m nhËn vai trß xö lý tÝnh to¸n, biÕn ®æi vµ cËp nhËt tr¹ng th¸i. + Qu¸ tr×nh thùc thi m« pháng trªn m¸y ¶o cã thÓ ®­îc thùc hiÖn ë 2 chÕ ®é: - Thùc thi bëi bé nhí trong Tools -> Options -> Memory Virtual Machine - Thùc thi trªn SQL Serverr : Tools -> Options -> SQL Server Virtual Machine. + Theo dâi kÕt qu¶ thùc hiÖn: Sau khi thùc hiÖn m« pháng ta cã thÓ xem c¸c kÕt qu¶ b»ng c¸ch ®äc d÷ liÖu tõ c¬ së d÷ liÖu ®Ó thÊy ®­îc t¸c ®éng vµ hiÖu qu¶ cña m¹ch mµ ta ®· x©y dùng th«ng qua c¸c phÐp ®o qubit. + Cã chøc n¨ng cho phÐp ng­êi dïng t¹o, sö dông vµ sö dông l¹i c¸c cæng Oracle: sö dông c¸c cæng Oracle lµ mét ph­¬ng ph¸p mang l¹i nhiÒu søc m¹nh cho c¸c thuËt to¸n l­îng tö. ChÝnh v× vËy ®Ó tËn dông ®­îc ®iÓm m¹nh nµy vµo trong c¸c m¹nh l­îng tö, c«ng tr×nh tËp trung x©y dùng nhתu tÝnh n¨ng hç trî c¸c cæng Oracle. VQS cho phÐp ng­êi dïng tù t¹o mét Oracle bÊt k× øng víi mét hµm x¸c ®inh, hç trî ph­¬ng ph¸p nhËp hµm theo biÓu thøc nhê bé ph©n tÝch biÓu thøc sè häc ®­îc biÓu diÔn d­íi d¹ng cÊu tróc d÷ liÖu c©y nhÞ ph©n. T­¬ng t¸c giao diÖn + Muèn më mét Project míi ®Ó thùc hiÖn : Chän File->New->Project ->NhËp tªn Project míi. NhÊn Tab BasicGate, nã sÏ cho ta thÊy nh÷ng c«ng cô ®· ®­îc cung cÊp. Tõ ®©y ta cã thÓ tuú chän: thanh ghi, qubit, c¸c cæng c¬ b¶n... theo yªu cÇu cña m×nh b»ng thao t¸c kÐo vµ th¶ quen thuéc tõ ToolBox xuèng vïng Client cña ta. KÕt thóc thiÕt kÕ, nÕu ta muèn ghi l¹i néi dung: chän File -> Save All th× toµn bé cÊu tróc m¹ch ®ã sÏ ®­îc l­u l¹i d­íi file cïng tªn víi Project cña ta. + Muèn dùng l¹i mét m¹ch tõ file ®· cã s½n (ch¼ng h¹n file ta võa t¹o ra vµ ghi l¹i ë trªn ), thùc hiÖn: Chän File->Open->Project. Sau ®ã chän tªn file mµ ta muèn më. NhÊn GateType trong cöa sæ Project Explorer. NhÊn vµo dÊu “+” trong cöa sæ Project Explorer ®Õn tªn file cuèi cïng th× nhÊp ®óp vµo biÓu t­îng Êy ta sÏ cã m¹ch m« pháng l¹i. Sau ®©y lµ mét sè h×nh ¶nh vÒ ch­¬ng tr×nh (xem trang bªn) Giao diÖn chÝnh cña ch­¬ng tr×nh: (h×nh 1) H×nh 1 T¹o mét m¹ch míi:( h×nh 2) H×nh 2 KÐo th¶ c¸c cæng c¬ b¶n vµo m¹ch, thiÕt lËp c¸c th«ng sè cho c¸c cæng ®ã (h×nh 3) H×nh 3 Më mét m¹ch ®· cã (M¹ch céng 2 qubit) (h×nh 4) H×nh 4 M« pháng víi m¸y ¶o SQL Server: thiÕt lËp cÊu h×nh m¸y ¶o SQL Server Chän menu Simulation/Simulate (Ctrl F5) (h×nh 5) H×nh 5 KÕt qu¶ m« pháng (h×nh 6) H×nh 6

Các file đính kèm theo tài liệu này:

  • docToán lượng tử và vấn đề mô phỏng trên máy tính truyền thống.DOC