Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
763,68 KB
Nội dung
1 Sơđồmạchlượngtử Tóm tắt công trình Vấn đề nghiên cứu các phương pháp tính toán lượngtử dựa trên các sơđồmạchlượngtử đóng vai trò ngày càng tăng khi trong tương lai gần, khả năng xây dựng được máy tính lượngtử công nghiệp trở thành hiện thực. Hiện nay các nước có nền kinh tế phát triển đã và đang hình thành nhiều trung tâm nghiên cứu phát triển các dự án về máy tính lượng tử, các thuật toán lượngtử dựa trên các mạchlượng tử,… Các ngành khoa học tính toán, đặ c biệt là công nghệ thông tin sẽ có những bước chuyển nhảy vọt một khi ra đời các thế hệ máy tính lượngtử công nghiệp. Ở các nước không có tiềm lực kinh tế cao, thích hợp hơn cả để bắt kịp với các nghiên cứu cơ bản trong lĩnh vực này là phát triển các công cụ mô phỏng dựa trên hệ máy tính truyền thống để tìm hiểu, kiểm chứng và nghiên cứu các thuật toán, mạchlượng tử. Để đóng góp cho việc dây dựng bộ công cụ hỗ trợ của một trung tâm nghiên cứu khoa học về các thuật toán và mạchlượng tử, trong công trình này chúng tôi trình bày việc xây dựng một chương trình khép kín hỗ trợ việc thiết kế mạchlượngtử và thực thi chúng trên máy ảo là môi trường SQL Server. Về logic, chương trình được chia thành hai hệ thống nhỏ là hệ thống thiết kế mạch và hệ thống thực thi (mô phỏng) các mạchđó trên máy ảo. Hệ thống thiết kế mạch cung cấp những chức năng tiện lợi, dễ dàng cho người sử dụng trong việc thiết kế các mạchlượngtử như kéo, thả đồ họa trực quan, . Hệ thống mô phỏng sử dụng môi trường SQL Server nhằm tận dụng khả năng tuyệt vời của nó về lưu trữ, xử lí dữ liệu, đặc bi ệt là khả năng xử lí thông tin theo nhóm rất phù hợp với bản chất của các cổng lượng tử. Hai hệ thống này giao tiếp với nhau thông qua ngôn ngữ được nhóm thiết kế dựa theo chuẩn XML. được gọi là QuML (Quantum Marked up Language). Ngôn ngữ này có tính cấu trúc cao, dễ hiểu đối với người sử dụng, dễ dàng mở rộng và đặc biệt là khả năng mô tả những mạch có cấu trúc phức tạp. Do tính độc l ập logic cao giữa các thành phần trong thiết kế, chương trình có khả năng dễ dàng mở rộng để phát triển cho các môi trường tính toán song song, dữ liệu phân tán, hoặc có thể sử dụng hệ quản trị dữ liệu khác phù hợp cho các môi trường tính toán với khối lượng dữ liệu rất lớn như Oracle…,và các hệ thống tính toán chuyên dụng như: grid computing, PC – Cluster, …để tăng khả năng về tốc độ và qui mô mô phỏng. Bên cạnh đ ó tính đúng đắn của các thuật toán mô phỏng cũng được chứng minh chặt chẽ về mặt toán học trong công trình này. 2 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ượngtử 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ạchlượngtử và tính toán lượngtử 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ượngtử 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ượngtử 10 2.3. Mô phỏng tính toán lượngtử 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ượngtử phổ dụng . 19 Chương 3. Ngôn ngữ QuML và kiến trúc hệ thống Visual Quantum Studio (VQS) . 21 3.1. Kiến trúc hệ thống Visual Quantum Studio . 21 3.2. Hệ thống giao diện đồ họa 21 3.3. Ngôn ngữ mô tả mạchlượngtử QuML (Quantum Marked up Language) 22 3.4. Máy ảo thực hịên tính toán lượngtử bởi SQL Server . 29 Kết luận chung . 30 Tàiliệu tham khảo . 31 Phụ lục. GIỚI THIỆU CHƯƠNG TRÌNH 32 3 Chương 1. Tính toán lượngtử và vấn đề mô phỏng trên máy tính truyền thống 1.1. Sơ bộ Sự ra đời của máy tính điện tử giữa thế kỉ XX đã đánh dấu một bước ngoặt lớn trong sự phát triển của xã hội nói chung cũng như của khoa học tính toán nói riêng. Thế nhưng đã xuất hiện những vấn đề mà máy tính điện tử không thể giải quyết được với thời gian thực. Sự ra đời của v ật lí lượngtử đầu thế kỉ XX đã tạo nên một cuộc cách mạng trong lĩnh vực vật lí. Từ những quan niệm về vật chất theo cơ học cổ điển Newton, chúng ta phải suy nghĩ theo những quan niệm hoàn toàn mới theo cơ học lượng tử. Khác với quan niệm một hạt tại một thời điểm bất kì luôn ở trong một trạng thái xác định, trong cơ h ọc lượng tử, có những hạt mà tại một thời điểm có thể tồn tại ở hai hay nhiều trạng thái khác nhau, hứa hẹn khả năng biểu diễn thông tin khổng lồ. Hai nhà bác học, Benioff và Feynman, đã nhìn thấy trước qua vật lý lượngtử một mô hình tính toán mới, mà nền tảng của nó dựa hoàn toàn vào sự bí ẩn của cơ học lượngtử [5]. Mô hình đó gắn liền với mộ t mô hình máy tính mới, đó là máy tính lượng tử. Mặc dầu cần phải trải qua thời gian nữa những chiếc máy tính lượngtử công nghiệp mới có thể ra đời, nhưng khả năng to lớn của nó đã được khẳng định. Với nền tảng của vật lý lượng tử, khả năng truyền thông tin trên cơ sở bit lượng tử, tốc độ tính toán nhanh kỳ lạ để phá các hệ m ật nổi tiếng hiện đại như RSA, logarit rời rạc [13], tìm kiếm cơ sở dữ liệu không sắp xếp trước [6], khả năng chứa đựng thông tin cực lớn của cả một thư viện hiện đại trong một đĩa CD, . khiến nhiều chuyên gia dự báo sự ra đời của máy tính lượngtử công nghiệp trong vòng 20 năm tới sẽ như quả bom hạt nhân không chỉ trong lĩnh vực công ngh ệ thông tin mà trong toàn bộ các lĩnh vực của xã hội, mà hệ quả đầu tiên sẽ là sự sụp đổ của các hệ thống bảo mật hiện đại trên thế giới dùng hệ mã RSA như: hệ thống bảo mật thương mại điện tử, thư tín điện tử, các hệ thống bảo mật quốc gia,…Như vậy vấn đề lý thuyết bảo mật l ượng tử cần được xúc tiến nghiên cứu ngay từ bây giờ. Chính vì tiềm năng to lớn của máy tính lượng tử, lý thuyết về tính toán lượngtử hiện nay đang được phát triển rộng khắp trên thế giới. Nhiều quốc gia phát triển đang ráo riết đầu tư cho dự án nghiên cứu chế tạo máy tính lượngtử và phát triển các thuật toán, mô hình tính toán (otomat lượng tử, máy Turing lượngtử ). Nhiều trung tâm nghiên cứu trên thế giới đã xuất hiện những labo nghiên cứu về lĩnh vự c này với sự đầu tư lên tới hàng tỉ USD như tại IBM. Tháng 11 năm 2001, IBM đã công bố thí nghiệm thành công việc chế tạo máy tính lượngtử 7-qubit, điều đó chỉ ra rằng, việc chế tạo những chiếc máy tính lượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử ở Vi ệt Nam theo một tiếp cận hoàn toàn mới. 4 1.2. 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ượngtử 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ượngtử 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ượngtử 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ượngtử dựa trên các cổng và mạchlượng tử, sau đó xuất hiện các mô hình tính toán lượngtử 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ượngtử trên các cổng và mạchlượngtử 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ượngtử trên các cổng và mạchlượngtử mô phỏng cho phép người dùng dễ dàng thiết kế một mạchlượngtử 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ượngtử ở 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. 5 + 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ạchlượngtử 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ượngtử 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ạchlượngtử đượ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ượngtử 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ượngtử 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ạchlượngtử 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ượngtử với quy mô vừa và lớn. 1.3. Các khái niệm cơ bản về mạchlượngtử và tính toán lượngtử 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]. 1.3.1. 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 2 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 → 21 n − Theo quan niệm mới về qubit lượngtử 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 2 (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à 0 & 1 . 6 Đị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 2 có dạng 01 α β + với , α β ∈ và thoả mãn luật phân bố xác suất 22 1 αβ + = . 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 0 và 1 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). 1.3.2. 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 2 , vectơ này có dạng 01 00 .0 00 .1 . 11 .1 , 2 1 n N CC C N+++ =- thoả mãn điều kiện: C i ∈ 2 , Σ 1≤ i ≤N | C i | 2 = 1, ở đó | i 1 i 2 i n 〉 = | i 1 〉 ⊗ | i 2 〉 ⊗ ⊗ | i n 〉, | i j 〉 ∈ 2 , j=1 ,n. Định nghĩa 1.2: Thanh ghi lượngtử 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 2 n véc tơ cơ sở dạng | i 1 i 2 i n 〉 thuộc H. 1.3.3. Nguyên lý rối lượngtử (entanglement) Ta xét ví dụ sau đây: ()() 11 03 0011 22 X =+= + 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à 0 , trạng thái hệ thống còn lại là 0 Nếu kết quả là 1 , trạng thái hệ thống còn lại là 1 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ượngtử (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. 1.3.4. Nguyên lý song song lượngtử Thanh ghi lượngtử 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ượngtử 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ẻ). 1.3.5. Mạch và cổng lượng tử, cổng lượngtử 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. 7 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ượngtử 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 : Dạng ma trận: () () 1 1/ 2 1/ 2 2 1 1/ 2 1/ 2 2 H α β αα ββ α β ⎛⎞ + ⎜⎟ ⎛⎞ ⎛⎞ ⎛⎞ ⎜⎟ ⎯⎯→ = ⎜⎟ ⎜⎟ ⎜⎟ ⎜⎟ ⎜⎟ − ⎝⎠ ⎝⎠ ⎝⎠ − ⎜⎟ ⎝⎠ Dạng vectơ: () () 11 01 0 1 22 +⎯⎯→ + +−+ H α β αβ αβ 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ở 0,1 , đó chính là do nguyên lý song song lượng tử. Định nghĩa 1.4: Mạch lôgic lượngtử là một tập các cổng lôgic lượngtử 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ượngtử G được gọi là phổ dụng nếu với mọi 0 ε > 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à ,0,'UU ε ∀∀>∃ được tạo nên bằng tích các cổng của G sao cho: ' UU ε −≤ , với một chuẩn được lựa chọn cụ thể trong không gian Hilbert. 1.3.6. 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 S 0 , S 1 với S a 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 21 12 0 n in i SCiii − = = ∑ K thì phép đo trên qubit đầu sẽ cho ra kết quả 0 với xác suất 23 23 2 0 ,, , Pr (0) n n ii i ii i ob C= ∑ K K , kết quả 1 với xác suất H 8 23 23 2 1 ,, , Pr (1) n n ii i ii i ob C= ∑ K K và siêu trạng thái S sẽ sụp đổ tương ứng về một trong hai trạng thái sau: () 2 2 012 ,, 1 0 Pr 0 n n ii n ii Ciii ob ∑ K K K () 2 2 112 ,, 1 1 Pr 1 n n ii n ii Ciii ob ∑ K K K 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 : () 1 00 01 11 3 +− . 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 () 1 00 01 2 + với xác suất 2/3 và thành trạng thái 11− với xác suất 1/3. 1.3.7. Thuật toán lượngtử Có thể xây dựng khái niệm thuật toán lượngtử 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ượngtử đượ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ượngtử 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ượngtử là tính chất xử lý song song: việc cổng lượngtử 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 2 n trạng thái riêng lẻ. Nhận xét: + Thanh ghi lượngtử 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ượngtử 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ượngtử 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ượngtử 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ử, . 1.4. 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ử. 9 + 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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ượngtử 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. 10 Chương 2. Ngôn ngữ SQL và sự tương thích với mô hình tính toán lượngtử 2.1. 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 . 2.2. Sự tương thích chặt chẽ giữa SQL và tính toán lượngtử + 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ượngtử 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ượngtử 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 : [...]... Thuc tớnh : - Name - Text - Alpha - Beta - Status observer Phng thc : - i tờn, i text - Thit lp giỏ tr Alpha, Beta - Chn, xoỏ 3.2.3 QuRegister Thuc tớnh : - Name - Text - Danh sỏch QuBit - Circuit cha nú - Inside / Outside Phng thc : - i tờn, i text - i kiu Inside Outside - Xoỏ, thờm bit 3.2.4 Operator Thuc tớnh : - Name - Text - Danh sỏch QuBit - Linkbits - State Phng thc: - i tờn, i text - i kiu... trong SQL s m nhn vai trũ x lý tớnh toỏn, bin i v cp nht trng thỏi + Quỏ trỡnh thc thi mụ phng trờn mỏy o cú th c thc hin 2 ch : - Thc thi bi b nh trong Tools -> Options -> Memory Virtual Machine - Thc thi trờn SQL Serverr : Tools -> Options -> SQL Server Virtual Machine + Theo dừi kt qu thc hin: Sau khi thc hin mụ phng ta cú th xem cỏc kt qu bng cỏch c d liu t c s d liu thy c tỏc ng v hiu qu ca mch... physics of Compitation 1996 11 Dng Th Quang, Ngụn ng ca cỏc h qun tr c s d liu- S.Q.L.-Structred Query Language, NXB Thng Kờ, H Ni 1995 12 B.V.Sabat, Gii tớch phc, NXB i Hc V Trung Hc Chuyờn Nghip, 1974 13 Peter W Shor, Polynomial-Time Algorithms For Prime Dacotrization And Disrete Logarithms On a Quantum Computer, arXiv: quant-ph/ 050802 v2 25 Jan 1996 14 Li c Thnh, Bi ging s hc, NXB Giỏo Dc, 1970 15... Tng tỏc giao din + Mun m mt Project mi thc hin : Chn File->New->Project -> Nhp tờn Project mi Nhn Tab BasicGate, nú s cho ta thy nhng cụng c ó c cung cp T õy ta cú th tu chn: thanh ghi, qubit, cỏc cng c bn theo yờu cu ca mỡnh bng thao tỏc kộo v th quen thuc t ToolBox xung vựng Client ca ta Kt thỳc thit k, nu ta mun ghi li ni dung: chn File -> Save All thỡ ton b cu trỳc mch ú s c lu li di file cựng... sin(2 ) + Re C7 cos (2 ) Thc hin bng truy vn 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 cos(2 ) ,Re=Re cos(2 ) where q@control1=1, q@control2=1 Update Tam set Re=-Re sin(2 ) , Im=-Im sin(2 ) where q@control1=1,q@control2=1,q@target=1 Update Tam set Re=Re sin(2 ) , Im=Im sin(2 ) where q@control1=1,q@control2=1,q@target=0... kt qu lờn bit ph Sau ú ỏp dng U n- 1, Wn- 1 ta s thu c U n , Wn iii) Phộp And a a b b 15 c ab c Dng bng: a 0 b 0 c 0 0 Im Im C0 Im C6 Re Re C0 Re C6 1 1 1 1 1 Im C7 Re C7 a 0 b 0 c 0 1 1 1 Im Im C0 Im C6 Re Re C0 Re C6 1 1 0 Im C7 Re C7 SQL ắắắ đ Nhn xột: Bit c b lt trng thỏi khi v ch khi a = b = 1 Thc hin bng truy vn SQL: Update Superposition set q@target=1-q@target where q@control1=1,qa@control2=1... nng: - Ngi dựng cú th ghi li ni dung cu trỳc mch di nh dng file *.xml sau khi xõy dng mch xong m sau ny chớnh chng trỡnh cú th s dng nhng file ny dng li mch, theo ni dung file - Nhng thụng tin v khi to mch s c c t file *.xml truyn vo CSDL Sau ú nhng th tc c xõy dng trong SQL s m nhn vai trũ x lý tớnh toỏn, bin i v cp nht trng thỏi + Quỏ trỡnh thc thi mụ phng trờn mỏy o cú th c thc hin 2 ch : - Thc... 1 1 q21 q2m 0 0 1 1 Im Im1C0 Re 2C0 + Im 2C0 Re1C0 Im1CN Re 2CM + Im 2CM Re1CN Re Im1C0 Im 2C0 - Re1C0 Re 2C0 Im1CN Im 2CM - Re1CN Re 2CM Thc hin bng truy vn 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 ó chng minh c mi phộp bin i Unita trong tớnh toỏn... (i1 , i2 , , ik 1 , ik +1 , , in ) trong ú i j {0,1} j = 1, n, j k Thc hin bng SQL: Select * into Tam from Superposition Update Superposition set q@target= 1- q@target Update Superposition set Im=Im / 2 ,Re=Re / 2 Update Tam set Re=-Re / 2 , Im=-Im / 2 where q@target=1 Update Tam set Re=Re/ / 2 , Im=Im / 2 where q@target=0 Insert into Tam select * from Superposition Drop tabl e Superposition Select... Computation, arXiv: quant-Ph/9810237, 12/1998 2 Phan Hong Anh, ng dng phng phỏp truy vn d liu trong tớnh toỏn khoa hc, cụng trỡnh nghiờn cu khoa hc khoa Toỏn Tin ng dng, trng HBKHN, 2001 (gii nhỡ b, nhỡ VIFOTEC) 3 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 4 A Ekert, . 1 Sơ đồ mạch lượng tử Tóm tắt công trình Vấn đề nghiên cứu các phương pháp tính toán lượng tử dựa trên các sơ đồ mạch lượng tử đóng vai trò. nghiên cứu phát triển các dự án về máy tính lượng tử, các thuật toán lượng tử dựa trên các mạch lượng tử, … Các ngành khoa học tính toán, đặ c biệt là công nghệ