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 và ít bị lỗi hơn.
Máy tính lượng tử của IBM . Ả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.
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ó.
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ã không thể bị thay đổi bởi các qubit không có trong mã đó.