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
35 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2456 | Lượt tải: 0
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 nhng 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 nhng 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 cha 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 lu 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µ cha 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 lu tr÷ vµ qu¶n lý d÷ liÖu t¨ng theo hµm luü thõa víi sè qubit bëi viÖc lu 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 lu 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Ó lu tr÷ rÊt nhiÒu tr¹ng th¸i ®¬n lÎ kh¸c nhau, nhng 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 ®ã lu 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 lu 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 trng 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, lu 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 lu 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 nhng 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 ®Ó lu 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, lu 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 lu 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×, nhng 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. Nhng 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 nhng 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 lu 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 lu 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 lu 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:
- Toán lượng tử và vấn đề mô phỏng trên máy tính truyền thống.DOC