Máy tính lượng tử kì 1: Nguồn gốc của máy tính lượng tử
Bài viết được dịch từ Setting up the Q# development environment null docs.microsoft.com Như các bác đã biết, các công ty...
Bài viết được dịch từ
Như các bác đã biết, các công ty chế tạo phần cứng như Intel, AMD, ... đã đứng lại khi công nghệ chia nhỏ transistor đến giới hạn (cụ thể là đến năm 2021 sẽ không thể chia nhỏ được nữa) và do đó định luật Moore cũng sắp bị khai tử, đồng nghĩa với việc cần phải tìm cách để tiếp tục tăng tốc độ tính toán. Một loạt các công nghệ mới đã xuất hiện trong vài năm qua, như thay đổi hình dạng chip, tinh chỉnh chip, … đã được áp dụng, nhưng có vẻ như chế tạo ra một hệ thống tính toán mới, mà cụ thể là tính toán lượng tử - mới được cho là giải pháp hay ho cho vấn đề này.
Máy tính lượng tử được đề xuất vào những năm 1980 bởi Richard Feynman và Yuri Manin. Bản chất đằng sau tính toán lượng tử bắt nguồn từ những thứ khó hiểu nhất của vật lý – cơ học lượng tử. Cơ học lượng tử đã được phát triển từ năm 1900 đến năm 1925 và nó là nền tảng của hóa học lượng tử, vật lý vật chất ngưng tụ và các công nghệ khác, ... Tuy nhiên cơ học lượng tử vẫn chưa phải là hoàn hảo và cần phải nghiên cứu thêm rất nhiều, giới vật lý học xuất hiện nhu cầu về một hệ thống mô phỏng các hạt tượng tác với nhau, nhưng việc hiện thực hóa lúc đó vẫn vượt quá khả năng của con người. Điều này là do hệ thống mô phỏng chứa vài hạt tương tác đã phải đòi hỏi sức mạnh tính toán nhiều còn nhiều hơn bất kỳ hệ thống máy tính thông thường nào.
Có nhiều cách để hiểu tại sao cơ học lượng tử khó mô phỏng. Có lẽ đơn giản nhất là do lý thuyết lượng tử nói rằng vật chất ở mức lượng tử có thể đồng thời trong một loạt các trạng thái khác nhau cùng một lúc (trạng thái chồng chất). Không giống như lý thuyết xác suất cổ điển, nhiều trạng thái có thể được quan sát và có thể ảnh hưởng lẫn nhau. Điều này ngăn cản việc lấy mẫu thống kê để thu các trạng thái lượng tử. Thay vào đó, chúng ta phải theo dõi mọi trạng thái có thể có của hệ thống nếu chúng ta muốn hiểu về cơ học lượng tử.

Hãy xem xét một hệ thống electron nơi electron có thể ở 40 vị trí, electron có thể nằm trong bất kỳ 2 ^ 40 trạng thái (vì mỗi vị trí có thể có hoặc không có một electron). Để lưu trữ trạng thái lượng tử của các electron trong một bộ nhớ máy tính thông thường sẽ vượt quá 130 GB! Điều này là đáng kể, nhưng vẫn trong tầm với của một số máy tính. Nếu chúng ta cho phép các hạt ở 41 vị trí bất kì, chúng ta sẽ phải có 260 GB để lưu trữ trạng thái lượng tử. Trò chơi tăng số lượng vị trí không thể chơi lâu hơn nếu chúng ta muốn lưu trữ theo quy ước trên, vì ở vài trăm electron, bộ nhớ cần thiết để lưu trữ vượt quá số lượng hạt trong vũ trụ !!!
Quan sát này khiến những người tiên phong về tính toán lượng tử có một câu hỏi đơn giản nhưng mạnh mẽ: liệu chúng ta có thể biến khó khăn này thành một cơ hội không? Cụ thể, nếu cơ học lượng tử khó mô phỏng thì điều gì sẽ xảy ra nếu chúng ta xây dựng phần cứng dựa trên những hiệu ứng lượng tử? Chúng ta có thể mô phỏng hệ thống của các hạt tương tác bằng cách sử dụng một hệ thống khai thác chính chúng một cách tự nhiên? Những câu hỏi này dẫn đến nguồn gốc của tính toán lượng tử.
Cốt lõi cơ bản của tính toán lượng tử là lưu trữ thông tin ở các trạng thái lượng tử và sử dụng các phép toán trên cổng lượng tử (sẽ giới thiệu sau) để tính toán thông tin đó bằng cách lập trình. Một ví dụ về lập trình để giải quyết một vấn đề nan giải trên các máy tính thông thường được thực hiện bởi Peter Shor vào năm 1994 là giải mã khóa. Giải mã khóa mang lại khả năng phá vỡ nhiều hệ thống mật mã khóa công khai, bao gồm RSA và Elliptic Curve (mã RSA đã chính thức bị phá kể từ khi chiếc máy tính lượng tử đầu tiên được ra đời) . Kể từ đó, các thuật toán lượng tử nhanh và hiệu quả được phát triển để giải quyết công việc đã được thực hiện trên máy tính cổ điển: mô phỏng các hệ thống vật lý trong hóa học, vật lý và khoa học vật liệu, tìm kiếm CSDL không có thứ tự (thuật toán Grover – ứng dụng đặc biệt trong Data Mining), giải các hệ phương trình tuyến tính và Machine Learning.

Lập trình lượng tử là một nghệ thuật riêng biệt từ lập trình cổ điển đòi hỏi lập trình viên phải có kiến thức tốt về vật lý lượng tử và toán học. Để hỗ trợ trong vấn đề này, Microsoft đã phát triển Microsoft Quantum Development và ngôn ngữ lập trình bậc cao, Q #, được thiết kế để mô phỏng những hoạt động của một máy tính lượng tử. Trước khi tiếp cận Q#, chúng ta cần phải biết về một số nguyên tắc cơ bản về tính toán lượng tử. Những bài sau sẽ giới thiệu các quy tắc cơ bản về tính toán lượng tử thành tiên đề, chứ không phải là chi tiết cơ sở trong cơ học lượng tử (bác nào muốn tìm hiểu kĩ thì đọc cuốn Quantum Computer Science của N. David Mermin nhé).
Kì 2:

Khoa học - Công nghệ
/khoa-hoc-cong-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất

Tullia Vu
Hay quá, lâu rồi mới có bài viết chi tiết như thế này, hóng chủ thớt phần tiếp theo






- Báo cáo

Mèo Hung
Thanks Bác 😅😅😅
- Báo cáo

Người Suy Nghĩ
https://en.wikipedia.org/wiki/Quantum_computing
https://www.microsoft.com/en-us/research/video/quantum-computing-computer-scientists/
- Báo cáo

Viet Anh Tran

Series bài cực kỳ có tâm, vẫn đang xoắn não để đọc hiểu các bài kế tiếp nhưng không thể không upvote và comment ủng hộ chủ thớt đc!
- Báo cáo

Han Nguyen
Ủng hộ chuỗi bài của bạn. Tuy nhiên nói “Mã RSA đã chính thức bị phá kể từ khi chiếc máy tính lượng tử đầu tiên ra đời” là không chính xác. Peter Shor phá mã RSA chủ yếu dựa trên thuật toán prime factors.
- Báo cáo

Mèo Hung
Có lẽ mình nên dùng từ khác chỗ đó, tuy nhiên mình nghĩ vẫn chấp mấy được. Bởi thuật toán shor trên lý thuyết chỉ hoạt động được trên máy turing lượng tử, vậy máy tính lượng tử là điều kiện đủ để factor prime, hay phá RSA.
- Báo cáo

Han Nguyen
Để nói rõ ràng, tránh mọi người hiểu lầm. Tại lúc Peter Shor viết thuật toán Prime chúng ta vẫn chưa có máy tính lượng tử đầu tiên, kể cả cho đến nay. Peter Shor khám phá ra một thuật toán (viết trên giấy) có thể phá mã của RSA dựa theo lý thuyết của quantum computing. Thuật toán này đến nay cũng chỉ nằm trên giấy, vì chúng ta vẫn chưa có được quantum computer để thực hiện.
- Báo cáo

Han Nguyen
Để nói rõ ràng, tránh mọi người hiểu lầm. Tại lúc Peter Shor viết thuật toán Prime chúng ta vẫn chưa có máy tính lượng tử đầu tiên, kể cả cho đến nay. Peter Shor khám phá ra một thuật toán (viết trên giấy) có thể phá mã của RSA dựa theo lý thuyết của quantum computing. Thuật toán này đến nay cũng chỉ nằm trên giấy, vì chúng ta vẫn chưa có được quantum computer để thực hiện.
- Báo cáo

Mèo Hung
không biết bạn có tìm hiểu kĩ trước khi comment không, vì theo mình biết thì năm 2001 trung tâm Almaden của IBM & ĐH Stanford đã dùng thuật toán Shor để phân tích 15 = 5 * 3 rồi.
Còn bạn nói đến giờ chưa có quantum computer là không đúng, đầu năm 2019 IBM đã ra mắt phiên bản rất rầm rộ rồi, chưa kể các hãng ở Canada, Trung Quốc, ... chỉ có điều là nó chưa thể phổ biến.
- Báo cáo

Han Nguyen
Khi người ta nói Quantum Computer có nghĩa là universal quantum computer. Quantum Computer phải có khả năng tính toán mọi thứ chứ không phải chỉ là factor của 15. Hệ thống qbit của IBM Almaden lúc đó chế ra với một mục đích là factor 15 thành 3 nhân 5. Có nghĩa là hệ thống đó chỉ làm được một việc duy nhất. Một quatum computer phải có ít nhất quantum memory và cách sửa lỗi gọi là quantum error correction. Đây là 2 kỹ thuật cần thiết mà chưa ai có thể chế ra. Tất cả các hệ thống hiện tại đều là thử nghiệm quantum computing chứ chưa có quantum computer. Các hệ thống này được gọi tắt là NISQ - Noisy Intermediate Scale Quantum Machine. Hong ai dám gọi đây là quantum computer hết. Nếu bạn muốn biết thì xem tin về google, cách đây vài ngày họ có thông báo họ đã được quantum supremacy dùng NISQ để chứng minh thực nghiệm quantum computer trong tương lai sẽ có khả năng tính loại toán mà classical computer không thể làm được trong thời gian ngắn. Thí dụ, họ chỉ ra hệ thống của họ có thể thực hiện một loại algorithm trong vòng 300 giây mà trong khi IBM supper computer cần 100 ngàn năm mới thực hiện được.
- Báo cáo