MỞ ĐẦU 1.1 Giới thiệu Trong những năm gan đây, lĩnh vực máy tính lượng tử đã có nhiều bước đột phá cả về phần cứng, phần mềm và thuật toán. Về phần cứng, Google đã phát triển thành công máy tính lượng tử 53-qubits vào năm 2019!. Năm 2021, IBM cũng cho ra mắt máy tính lượng tử Eagle với 127 qubits [5]. Bên cạnh những công ty lớn như IBM, Google thì nhiều công ty mới như Rigetti và IonQ cũng đang chạy dua trong việc phát triển các máy tính lượng tử quy mô lớn [6].
Về phần mềm, các công ty công nghệ cũng tập trung phát triển bộ công cụ phát triển phần mềm (SDKs) như Qiskit (IBM), Cirq (Google) và ngôn ngữ lập trình mới như Qsharp (Microsoft) giúp việc tiếp cận và phát triển ứng dụng lượng tử nhanh chóng và dé dàng. Về thuật toán, tính toán lượng tử có thể rút ngắn thời gian xử lý hơn rất nhiều lần so với máy tính toán truyền thống với các thuật toán như: phân tích thừa số nguyên tố lớn với thuật toán Shor [7], thuật toán tìm tính chất hàm Deutsch-Jozsa [8] và thuật toán tìm kiếm Grover [9]. Tuy nhiên, việc phát triển các ứng dụng lượng tử vẫn còn đối mặt với nhiều thách thức. Đầu tiên, các máy tính lượng tử hiện nay vẫn còn hạn chế về số lượng qubits (quantum bits) ở mức thấp và trung bình, kết quả xử lý chưa ổn định hay được biết đến là vấn đề NISQ (noisy intermediate-scale quantum) [4].
Các ứng dụng trên máy tính truyền thông hiện nay rất phổ biến, việc thay thế hoàn toàn bằng công nghệ lượng tử sẽ gây ra những quyết định khó khăn cho doanh nghiệp [10]. Phát triển ứng dụng lượng tử là một lĩnh vực còn rất mới, tạo ra nhiều khó khăn và thách thức đối với những kỹ sư phát triển phần mềm truyền thống [11]. Serverless computing (mô hình điện toán "không máy chủ") có thể là giải pháp tiềm năng để khắc phục các thách thức mà phát triển ứng dụng lượng tử đặt ra. Serverless computing được xem như là lớp dịch vụ trung gian giữa con người và điện toán đám mây, hỗ trợ quản lí hạ tầng máy chủ trong khi đó người dùng có thể "https://quantumai.google/learn/map tập trung vào phát triển và triển khai ứng dụng của mình [12].
Ngoài ra, mô hình serverless computing còn có thể giúp giảm chỉ phí, tối ưu hóa phân bổ tài nguyên và khả năng mở rộng [13]. Trong khóa luận này nhóm tác giả sẽ triển khai hệ thống tự động hoá quy trình phát triển phần mềm lượng tử theo mô hình Serverless computing. Hệ thống cung cấp một nền tảng hỗ trợ các lập trình viên phát triển phần mềm lượng tử nhanh chóng, tự động mà không cần quan tâm đến việc cài đặt máy chủ và các dịch vụ cần thiết. Đồng thời hệ thống cũng giúp người dùng dễ dàng tiếp cận và sử dụng các ứng dụng lượng tử qua giao diện trực quan, tiện lợi.2 Mục tiêu nghiên cứu * Nghiên cứu về các kỹ thuật lập trình, lý thuyết cơ bản về lượng tử và các thư viện mã nguồn mở hỗ trợ lập trình ứng dụng lượng tử.
» Nghiên cứu áp dụng mô hình điện toán không máy chủ vào triển khai ứng dung lượng tử. * Xây dựng hệ thống dựa trên mô hình điện toán không máy chủ hỗ trợ phát triển các ứng dụng lượng tử. » Đánh giá tính hiệu quả, chức năng của hệ thống và chứng minh khả năng ứng dụng thực tế của đề tài trong việc phát triển phần mềm lượng tử.3 Đối tượng nghiên cứu và phạm vỉ nghiên cứu * Lý thuyết cơ bản, các kỹ thuật lập trình phần mềm lượng tử. * Các framework triển khai mô hình Serverless cloud computing.
» Nghiên cứu sử dụng các dịch vụ máy tính lượng tử của nhà cung cấp IBM Quantum * Các kỹ thuật, giải pháp phát triển phần mềm truyền thống cho phát triển phần mềm lượng tử.4 Cấu trúc Khóa luận tốt nghiệp Phần còn lại của Khóa luận tốt nghiệp được trình bày theo trình tự sau: nhóm tác giả sẽ trình bày cơ sở lý thuyết và các nghiên cứu liên quan ở Chương 2. Ở Chương 3, nhóm tác giả tiến hành phân tích và thiết ké mô hình kiến trúc hệ thống, cách triển khai cũng như cách thức hoạt động được trình bay ở Chương 4. Sau đó, ở Chương 5 nhóm tác giả đặt ra các kịch bản thực nghiệm để đánh giá tính hiệu quả và hiệu suất của hệ thống. Cuối cùng, nhóm tác giả đưa ra kết luận và hướng phát triển của đề tài trong tương lại tại Chương 6.
CHUONG 2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Tính toán lượng tử (Quantum computing) Trước khi tìm hiểu về tính toán lượng tử và các khái niệm liên quan, nhóm tác giả tóm tắt sơ lược về cách các máy tính hiện nay biểu diễn thông tin.1 Bit và tính toán truyền thống (classical computing) Trên các máy tính truyền thống, mọi thông tin được biểu diễn dựa trên bit, trong đó mỗi bit tồn tại ở một trong hai trạng thái, 0 và 1. Ví dụ đơn giản là sử dụng hệ nhị phân biểu diễn các chữ số thập phân 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9 bằng cách sử dụng các kí tự 0 và 1 để biểu diễn các số như là bội số của 2. Ví dụ nhị phân của số 9213 là 1000111111101.1) Với các thông tin phức tạp hơn như chữ cái, chuỗi gồm chữ và số, Viện Tiêu chuẩn Quốc gia Hoa Kỳ (American National Standards Institute) đã đưa ra bộ mã chuẩn cho biểu diễn thông tin trên máy tính đó là bộ mã ASCII (American Standard Code for Information Interchage). Dựa trên bảng mã này, các mỗi kí tự trên máy tính sẽ được biểu diễn 7 bit tương ứng 1 byte, bit còn lại đùng cho mục đích khác và biểu diễn các kí tự đặc biệt.
Tóm tắt bảng mã được mô tả ở hình 2. Từ đó, mọi thông tin trên máy tính như chữ số, kí tự, hình ảnh, âm thanh phức tạp hơn đều được biểu diễn dựa trên các quy ước này. Ngoài biểu diễn thông tin, các chương trình máy tính, các phép toán đều được xây dung và thực hiện dựa vào bản chất bên dưới là các sơ đồ mach (circuit diagram). Các mạch này có đầu vào bên trái và bên phải là các bit, ở giữa sẽ thực hiện các phép biến Nhị phân Kí tự Nhị phân Kí tự Nhị phân Kí tự 011 0000 0 100 0001 A 100 1011 K 011 0001 1 100 0010 B 100 1100 L 011 0010 2 100 0011 Cc 100 1101 M 011 0011 3 100 0100 D 100 1110 N 0110100 4 100 0101 E 100 1111 fe} 011 0101 5 100 0110 F 101 0000 P 0110110 6 100 0111 G 101 0001 Q 0110111 7 100 1000 H 101 0010 R 011 1000 8 100 1001 | 101 0011 Ss 011 1001 9 100 1010 J 101 0100 T Hình 2.1: Bang mã ASCII A S Input Output B A B Sum | Carry 0 0 0 0 0 1 1 0 Cc 1 0 1 0 I 1 0 1 Hình 2.2: Mạch cộng Half-Adder đổi, các phép biến đổi được gọi là các cổng luận lý (gate).2 mô tả phép toán cộng 2 bit có nhớ ở đầu ra (Half-adder).
Các máy tính truyền thống hiện nay đã mang lại nhiều lợi ích to lớn cho hầu hết mọi lĩnh vực trong cuộc sống. Chúng đã thay đổi hoàn toàn đời sống con người kể từ cuộc cách mạng công nghiệp thứ ba. Bắt kể lĩnh vực nào từ kinh tế, sức khỏe cho đến giáo dục, máy tính đều đóng vai trò rất lớn. Tuy nhiên, các máy tính hiện tại vẫn còn nhiều hạn chế va van dé vẫn chưa thể giải quyết.
Một số bài toán khi sử dụng trên máy tính truyền thống có thể sẽ mắt rất nhiều thời gian để thực hiện, ví dụ: mô phỏng nguyên tử (molecule simulation), xử lý các mô hình máy học phức tạp, phân tích thừa số nguyên tổ lớn, phát sinh số hoàn toàn ngẫu nhiên (truly-random).2 Cơ sở toán học Không gian Hilbert là một trong những cấu trúc toán học quan trọng nhất trong cơ học lượng tử và tính toán lượng tử. Một không gian Hilbert có thể được coi là không gian trang thái trong đó tat cả các vectơ trạng thái lượng tử "live". Sự khác biệt chính giữa không gian Hilbert và bất kỳ không gian vectơ ngẫu nhiên nào là không gian Hilbert mang một giá trị bên trong, là một kết quả có thể được thực hiện giữa hai vectơ và trả về kết quả vô hướng. "Trong cơ học lượng tử và tính toán lượng tử, giá trị bên trong giữa hai vectơ trạng thái trả về một đại lượng vô hướng biểu thị số lượng mà vectơ thứ nhất nhân tương ứng với các phan tử trong vectơ thứ hai.
Từ đó, xác suất đo lường ở các trạng thái lượng tử khác nhau có thể được tính toán. Cho hai vectơ |a) va |b) trong không gian Hilbert, biểu thi giá trị là (z|b), trong đó (a| bằng với chuyển đổi liên hợp của |a), ký hiệu |a)†. Do đó, kết quả giá trị của hai vectơ của không gian Hilbert được mô tả như trong công thức 2.tagjbm 22) Một trong những điều kiện quan trong nhất đối với không gian Hilbert đại diện cho một hệ thống lượng tử là tích vô hướng của một vectơ với chính nó bằng một: (ự | w) = 1. Đây là điều kiện được gọi là điều kiện chuẩn hóa, với chiều dài của vectơ bình phương bằng một.
Ý nghĩa vật lý của điều này là độ dài của một vectơ theo một hướng cụ thể là đại điện cho biên độ xác suất của hệ thống lượng tử liên quan đến đo lường ở trạng thái cụ thể đó.3 Qubit và tính toán lượng tử (quantum comuting) Tinh toán lượng tử được xây dựng dựa trên nền tảng của cơ học lượng tử (quantum mechanics), vốn là lý thuyết vật lý phản ánh bản chất của thế giới vật chất ở mức độ nguyên tử và phân tử [14]. Trên máy tính lượng tử, thông tin được biểu diễn dựa trên đơn vị là qubit. Tương tự với bit, qubit chỉ có thể lưu trữ được giá trị là “0” và “1” và Hình 2.3: Biểu diễn vị trí xe cho ra duy nhất một giá trị “0” hoặc “1” khi đo lường (measurement) thông tin từ nó. Tuy nhiên, đặc điểm quan trọng của qubit so với bit truyền thống là nó có thể tồn tại ở trạng thái “chồng chập lượng tử” (superposition).
Ở trạng thái này, mỗi qubit có thể cùng mang hai giá tri “0” và “1” tai cùng một thời điểm. Ví dụ, với 8 bit thông thường có thể biểu diễn được bat kì một số thập phân có giá trị từ 0 đến 255, trong khi đó 8 qubit có thể mang trạng thái superposition với toàn bộ 256 giá trị trong cùng một thời điểm.