Technology Communications Programming Ai Concept 777x437 1
Thông tin công nghệ

Twist: Ngôn ngữ lập trình mới của MIT dành cho máy tính lượng tử

Technology Communications Programming AI Concept

Tinh thể thời gian. Lò vi sóng. Kim cương. Ba điểm khác biệt này có điểm gì chung?

Tính toán lượng tử. Không giống như 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ố không hoặc số một, hoặc cả hai cùng một lúc. Kết hợp với một loạt các lực từ vật lý lượng tử, những cỗ máy cỡ tủ lạnh này có thể xử lý rất nhiều thông tin – nhưng chúng còn lâu mới hoàn hảo. Cũng giống như các máy tính thông thường, chúng ta cần có ngôn ngữ lập trình phù hợp để tính toán đúng cách trên máy tính lượng tử.

Việc lập trình máy tính lượng tử đòi hỏi nhận thức về một thứ gọi là “sự vướng víu”, một hệ số nhân tính toán cho các loại qubit, nghĩa là rất nhiều sức mạnh. Khi hai qubit vướng vào nhau, các hành động trên một qubit này có thể thay đổi giá trị của qubit kia, ngay cả khi chúng bị tách rời nhau về mặt vật lý, dẫn đến đặc điểm của Einstein về “hành động ma quái ở khoảng cách xa”. Nhưng sức mạnh đó cũng chính là nguồn gốc của điểm yếu. Khi lập trình, việc loại bỏ một qubit mà không lưu ý đến sự vướng mắc của nó với qubit khác có thể phá hủy dữ liệu được lưu trữ trong qubit kia, gây nguy hiểm cho tính đúng đắn của chương trình.

Các nhà khoa học của MIT ‘s Khoa học Máy tính và trí tuệ nhân tạo (CSAIL) nhằm thực hiện một số sáng tỏ bằng cách tạo ra ngôn ngữ lập trình riêng của họ cho lượng tử tính toán gọi 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ử, thông qua một ngôn ngữ mà một lập trình viên cổ điển có thể hiểu được. Ngôn ngữ này sử dụng một khái niệm gọi là độ tinh khiết, giúp thực thi việc không vướng víu và dẫn đến các chương trình trực quan hơn, lý tưởng là ít lỗi hơn. Ví dụ: một lập trình viên có thể sử dụng Twist để nói rằng dữ liệu tạm thời được tạo ra dưới dạng rác của một chương trình không bị vướng vào câu trả lời của chương trình, giúp bạn có thể an toàn khi vứt bỏ.

Trong khi lĩnh vực máy tính lượng tử sơ khai có thể cảm thấy hào nhoáng và tương lai, máy tính lượng tử có tiềm năng tạo ra những đột phá về tính toán trong các nhiệm vụ khó giải quyết cổ điển, như giao thức mật mã và truyền thông, tìm kiếm, tính toán vật lý và hóa học. Tín dụng: Graham Carlow / IBM

Trong khi lĩnh vực non trẻ có thể cảm thấy hơi hào nhoáng và tương lai, với hình ảnh của những cỗ máy vàng đầy ma mút xuất hiện trong tâm trí, máy tính lượng tử có tiềm năng đột phá về tính toán trong các nhiệm vụ khó giải quyết cổ điển, như giao thức mật mã và truyền thông, tìm kiếm, tính toán vật lý và hóa học. Một trong những thách thức chính trong khoa học tính toán là giải quyết sự phức tạp của vấn đề và số lượng tính toán cần thiết. Trong khi một máy tính kỹ thuật số cổ điển sẽ cần một số bit hàm mũ rất lớn để có thể xử lý một mô phỏng như vậy, thì một máy tính lượng tử có thể làm điều đó, có khả năng, sử dụng một số lượng rất nhỏ qubit – nếu có các chương trình phù hợp.

“Ngôn ngữ Twist của chúng tôi 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 bằng cách nêu rõ khi nào một qubit không được vướng vào một qubit khác,” Charles Yuan, một nghiên cứu sinh tiến sĩ của MIT về kỹ thuật điện và khoa học máy tính và là tác giả chính của bài báo mới về Twist cho biết . “Bởi vì việc hiểu các chương trình lượng tử đòi hỏi phải hiểu được sự vướng víu, chúng tôi hy vọng rằng Twist sẽ mở đường cho các ngôn ngữ làm cho các thách thức độc đáo của điện toán lượng tử dễ tiếp cận hơn đối với các lập trình viên.”

Yuan đã viết bài báo này cùng với Chris McNally, một nghiên cứu sinh về kỹ thuật điện và khoa học máy tính, người có liên kết với Phòng thí nghiệm Nghiên cứu Điện tử của MIT, cũng như Trợ lý Giáo sư Michael Carbin của MIT. Họ đã trình bày nghiên cứu tại hội nghị chuyên đề 2022 về Nguyên tắc lập trình ở Philadelphia vào tuần trước.

Gỡ rối lượng tử

Hãy tưởng tượng một hộp gỗ có hàng nghìn sợi cáp nhô ra từ một phía. Bạn có thể kéo hết cáp ra khỏi hộp hoặc đẩy vào trong.

Sau khi bạn làm điều này một lúc, các dây cáp tạo thành một mô hình gồm các bit – số không và số một – tùy thuộc vào việc chúng vào hay ra. Hộp này đại diện cho bộ nhớ của một máy tính cổ điển. Chương trình cho máy tính này là một chuỗi hướng dẫn về thời điểm và cách kéo dây cáp.

Bây giờ hãy tưởng tượng một hộp thứ hai, trông giống hệt nhau. Lần này, bạn giật mạnh một sợi cáp và thấy rằng khi nó nổi lên, một vài sợi cáp khác được kéo trở lại bên trong. Rõ ràng, bên trong hộp, các dây cáp này bằng cách nào đó bị quấn vào nhau.

Hộp thứ hai là một phép loại suy cho một máy tính lượng tử và việc hiểu được ý nghĩa của một chương trình lượng tử đòi hỏi phải hiểu được sự vướng víu có trong dữ liệu của nó. Nhưng phát hiện ra sự vướng mắc không phải là đơn giản. Bạn không thể nhìn vào hộp gỗ, vì vậy tốt nhất bạn có thể làm là thử kéo dây cáp và cẩn thận giải thích xem chúng bị vướng. Theo cách tương tự, các lập trình viên lượng tử ngày nay phải suy luận về sự vướng víu bằng tay. Đây là nơi thiết kế của Twist giúp xoa bóp một số phần xen kẽ đó.

Các nhà khoa học đã thiết kế Twist đủ biểu cảm để viết ra các chương trình cho các thuật toán lượng tử nổi tiếng và xác định các lỗi trong quá trình triển khai của chúng. Để đánh giá thiết kế của Twist, họ đã sửa đổi các chương trình để đưa ra một số loại lỗi tương đối tinh vi đối với một lập trình viên con người có thể phát hiện và cho thấy rằng Twist có thể tự động xác định các lỗi và từ chối các chương trình.

Họ cũng đo lường mức độ hoạt động của các chương trình trong thực tế về thời gian chạy, vốn có chi phí thấp hơn 4% so với các kỹ thuật lập trình lượng tử hiện có.

Đối với những người cảnh giác với danh tiếng “hạt giống” của lượng tử về khả năng phá vỡ hệ thống mã hóa của nó, Yuan nói rằng vẫn chưa biết rõ về mức độ nào mà máy tính lượng tử sẽ thực sự có thể đạt được những hứa hẹn về hiệu suất của chúng trong thực tế. “Có rất nhiều nghiên cứu đang diễn ra về mật mã hậu lượng tử, tồn tại bởi vì ngay cả tính toán lượng tử cũng không phải là toàn năng. Cho đến nay, có một bộ ứ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 mà 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 để tạo ra các ngôn ngữ lập trình lượng tử cấp cao hơn. Hầu hết các ngôn ngữ lập trình lượng tử ngày nay vẫn giống với ngôn ngữ hợp ngữ, xâu chuỗi các hoạt động cấp thấp lại với nhau, không quan tâm đến những thứ như kiểu dữ liệu và chức năng, và những gì điển hình trong kỹ thuật phần mềm cổ điển.

“Máy tính lượng tử rất dễ xảy ra lỗi và khó lập trình. Bằng cách giới thiệu và lý luận về ‘độ tinh khiết’ của mã chương trình, Twist đã đạt được một bước tiến lớn trong việc làm cho lập trình lượng tử dễ dàng hơn bằng cách đảm bảo rằng các bit lượng tử trong một đoạn mã thuần túy không thể bị thay đổi bởi các bit không có trong mã đó, “Fred Chong nói. Seymour Goodman Giáo sư Khoa học Máy tính tại Đại học Chicago và nhà khoa học chính tại Super.tech.

Tham khảo: “Twist: Lý do sáng suốt cho sự trong sạch và vướng mắc trong các chương trình lượng tử” của Charles Yuan, Christopher McNally và Michael Carbin.
POPL 2022

Công việc này được hỗ trợ một phần bởi Phòng thí nghiệm MIT-IBM Watson AI, Quỹ Khoa học Quốc gia và Văn phòng Nghiên cứu Hải quân.

Theo Scitechdaily

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0

You may also like

Leave a reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.