Các nhà nghiên cứu thuộc Khoa Khoa học Máy tính và Trí tuệ nhân tạo (CSAIL) của Viện Công nghệ Massachusetts (MIT) đã thiết kế một ngôn ngữ lập trình mới cho điện toán lượng tử, được gọi là Twist.
Điện toán lượng tử. như các máy tính truyền thống sử dụng
bit, máy tính lượng tử sử dụng qubit để mã hóa thông tin dưới dạng số 1 hoặc số
0, hoặc cả hai cùng một lúc.
Với sức mạnh hỗn hợp từ vật lý lượng tử, những chiếc máy có
kích thước tủ lạnh này có thể xử lý rất nhiều thông tin nhưng cũng không hoàn hảo.
Tương tự như các máy tính thông thường, cần phải có các ngôn ngữ lập trình phù
hợp để thực hiện các phép tính đúng trên máy tính lượng tử.
Lập trình máy tính lượng tử đòi hỏi nhận thức về một khái niệm,
được gọi là "vướng víu lượng tử", một hệ số nhân tính toán cho các loại
qubit, chuyển thành công suất tính toán lớn.
Khi hai qubit vướng víu, hoạt động trên một qubit làm thay đổi
giá trị của qubit kia, ngay cả khi bị tách rời vật lý, phát sinh đặc điểm của
Einstein về "hành động ma quái ở khoảng cách xa". Khi lập trình, loại
bỏ một qubit mà không chú ý đến sự vướng víu với một qubit khác có thể phá hủy
dữ liệu được lưu trữ ở qubit kia, làm mất tính chính xác của chương trình.
Các nhà khoa học từ Khoa học Máy tính và Trí tuệ nhân tạo
(CSAIL) của MIT để làm sáng tỏ mối quan hệ này đã tạo ra ngôn ngữ lập trình cho
điện toán lượng tử được gọi là Twist.
Twist có thể mô tả và xác minh những phần dữ liệu nào bị vướng
vào một chương trình lượng tử nhờ một ngôn ngữ mà lập trình viên truyền thống
có thể hiểu. Ngôn ngữ sử dụng một khái niệm gọi là độ tinh khiết, thực thi khi
không có sự vướng víu lượng tử, khiến các chương trình trực quan hơn với lý tưởng
ít lỗi hơn.
Máy tính lượng tử có tiềm năng cho những đột phá tính toán
trong các nhiệm vụ không thể giải quyết bằng máy tính thông thường, như các giao thức mật mã và
truyền thông, tìm kiếm và vật lý tính toán và hóa học. Ảnh: Graham Carlow/IBM
Máy tính lượng tử có tiềm năng thực hiện những đột phá tính
toán trong những nhiệm vụ cổ điển không thể giải quyết như các giao thức mật mã
và truyền thông, tìm kiếm và thực hiện các tính toán trong vật lý và hóa học.
Một thách thức trọng yếu trong khoa học máy tính là đối phó
với sự phức tạp của vấn đề và số lượng tính toán cần thiết. Một máy tính kỹ thuật
số truyền thống cần một số lượng bit tính theo cấp số nhân rất lớn để xử lý một
mô phỏng với thời gian dài thì một máy tính lượng tử có thể có khả năng, sử dụng
một số lượng nhỏ các qubit nếu chạy các chương trình phù hợp.
Charles Yuan, nghiên cứu sinh TS MIT về kỹ thuật điện và
khoa học máy tính, tác giả bản báo cáo nghiên cứu về Twist cho biết, ngôn ngữ Twist
cho phép một nhà phát triển viết các chương trình lượng tử an toàn hơn khi biết
rõ, khi nào một qubit không vướng vào một qubit khác. Twist mở đường cho các
ngôn ngữ, khiến những bài toán độc đáo của điện toán lượng tử dễ tiếp cận hơn với
các lập trình viên.
Yuan viết bài báo khoa học cùng với Chris McNally, nghiên cứu
sinh TS về kỹ thuật điện và khoa học máy tính, liên kết với Phòng thí nghiệm
nghiên cứu điện tử MIT và PGS MIT Michael Carbin. Nhóm đã trình bày nghiên cứu
tại Hội nghị chuyên đề về nguyên tắc lập trình năm 2022 tuần trước tại
Philadelphia.
Các nhà khoa học phát triển Twist đủ rõ ràng để có thể viết
các chương trình cho những thuật toán lượng tử thông thường và xác định những lỗi
khi triển khai.
Để đánh giá khả năng của Twist, nhóm nghiên cứu đã sửa đổi
các chương trình, đưa vào một số loại lỗi tương đối tinh tế khiến cho một lập
trình viên khó phát hiện và nhận thấy Twist có thể tự động xác định các lỗi và
từ chối chạy chương trình.
Nhóm nhà khoa học cũng đo lường cấp độ hoạt động của các
chương trình trong thực tế về thời gian chạy, cho thấy giảm 4% thời gian so với
những kỹ thuật lập trình lượng tử hiện có.
Có rất nhiều nghiên cứu đang diễn ra trong mật mã hậu lượng
tử, tồn tại bởi vì ngay cả điện toán lượng tử cũng không phải là tất cả mạnh mẽ.
Cho đến nay, có một tập hợp các ứng dụng rất cụ thể, trong đó mọi người đã phát
triển các thuật toán và kỹ thuật trong đó một máy tính lượng tử có thể vượt trội
hơn các máy tính cổ điển.
Một bước quan trọng
tiếp theo là sử dụng Twist để phát triển các ngôn ngữ lập trình lượng tử cấp
cao hơn. Máy tính lượng tử dễ bị lỗi và khó lập trình. Bằng phương pháp xác định
'độ tinh khiết' của mã chương trình, Twist đã có một bước tiến lớn hướng tới việc
khiến lập trình lượng tử dễ dàng hơn bằng phương pháp đảm bảo, các qubit lượng
tử trong một đoạn mã thuần túy không thể bị thay đổi bởi các qubit không có
trong mã đó.