Tại sao tính toán lượng tử rất khó hiểu?

by
Reading time: 9 minutes

Để hiểu được những gì máy tính lượng tử có thể làm – và cả những gì chúng không thể – ta cần tránh xa những giải thích quá giản đơn. Máy tính lượng tử không phải là thế hệ tiếp theo của siêu máy tính – chúng là một thứ hoàn toàn khác. Trước khi bắt đầu bàn đến các ứng dụng tiềm năng của máy tính lượng tử, chúng ta cần hiểu những cơ sở vật lý thúc đẩy thuyết tính toán lượng tử.

Có thể bạn đã nghe điều này: Máy tính lượng tử, là những cỗ máy diệu kỳ sẽ sớm chữa khỏi bệnh ung thư và giải quyết sự nóng lên toàn cầu bằng cách giải đáp mọi vấn đề có thể có, kể cả trong các vũ trụ song song. Trong 15 năm qua, tôi luôn cực lực phản đối cách nhìn biếm họa này, và cố gắng giải thích những điều đó chỉ là sự giả dối mỉa mai, chứ không phải là sự thật hấp dẫn. Tôi lên tiếng về vấn đề này như một nghĩa vụ đạo đức vì tôi là nhà nghiên cứu máy tính lượng tử. Nhưng than ôi, việc này cũng giống như việc làm của Sisyphean trong thần thoại Hy Lạp: Sự cường điệu quá đáng về máy tính lượng tử càng gia tăng trong những năm gần đây, khi các tập đoàn và các chính phủ đầu tư hàng tỷ USD, và khi công nghệ này đã phát triển các thiết bị 50-qubit có thể lập trình được (theo một số tiêu chuẩn nhất định) thực sự có thể giúp các siêu máy tính lớn nhất thế giới kiếm tiền. Và cũng giống như tình trạng của tiền điện tử, học máy và các lĩnh vực công nghệ thời thượng khác, tiền đã đến với những kẻ trục lợi.


Tuy nhiên, ở một khoảnh khắc trầm tư, tôi đã hiểu ra vấn đề. Thực tế là, ngay cả khi ta bỏ qua mọi động lực xấu xa và lòng tham trục lợi, tính toán lượng tử vẫn rất khó có thể giải thích một cách ngắn gọn, trung thực mà không dùng tới toán học. Như nhà tiên phong về tính toán lượng tử Richard Feynman từng nói về công trình điện động lực học lượng tử giúp ông đoạt giải Nobel Vật lý năm 1965: nếu có thể mô tả trong một vài câu sơ sài, có lẽ nó đã không xứng đáng thắng giải Nobel.

Điều đó không phải để ngăn người ta ngừng cố gắng. Kể từ năm 1994, khi Peter Shor phát hiện một máy tính lượng tử có thể bẻ gãy hầu hết các mã khóa bảo mật trên internet, sự hào hứng về công nghệ này không chỉ bị thôi thúc bởi sự tò mò trí tuệ. Thực tế, những phát triển trong lĩnh vực này thường được đề cập đến như những câu chuyện kinh doanh hoặc công nghệ nhiều hơn là về khoa học.

Thật tốt khi một phóng viên mảng kinh tế hoặc công nghệ thành thật nói với độc giả: “Này, hãy nhìn xem, có tất cả những thứ cao siêu về lượng tử này, nhưng tất cả những gì bạn cần hiểu mới là điểm mấu chốt: Các nhà vật lý đang trên đường chế tạo ra những chiếc máy tính nhanh hơn, và sẽ cách mạng hóa mọi thứ!”.

Vấn đề là máy tính lượng tử không cách mạng hóa mọi thứ.

Vâng, vào một ngày nào đó, và chỉ trong vòng vài phút, máy tính lượng tử có thể giải một số bài toán cụ thể mà (chúng ta nghĩ) máy tính cổ điển không thể giải quyết được. Nhưng cũng có nhiều bài toán quan trọng mà hầu hết các chuyên gia đều cho rằng máy tính lượng tử nếu có, cũng chỉ giúp ích một cách khiêm tốn. Cũng như thế, khi mới đây Google và những ông lớn khác tuyên bố đáng tin cậy rằng họ đã đạt được tốc độ lượng tử quy định, thì điều này chỉ có nghĩa là họ đã đạt được một vài thông số cụ thể, bí mật nào đó (một trong những thứ đó có sự tham gia của tôi). Một máy tính lượng tử đủ lớn và đáng tin cậy để vượt trội hơn máy tính cổ điển trong các ứng dụng thực tế như là bẻ khóa mật mã và mô phỏng hóa học còn phải mất một chặng đường dài.

Nhưng làm thế nào một máy tính chỉ nhanh hơn khi giải quyết một số bài toán cụ thể? Chúng ta có biết cái nào như vậy không? Và một máy tính lượng tử “đủ lớn và đáng tin cậy” có ý nghĩa gì trong ngữ cảnh này? Để trả lời những câu hỏi này, chúng ta phải nghiên cứu những thứ cao siêu hơn.


Hãy bắt đầu với cơ học lượng tử (đủ cao siêu chứ nhỉ?). Khái niệm chồng chất lượng tử nổi tiếng là rất khó diễn đạt bằng ngôn ngữ thông thường. Vì vậy, không có gì ngạc nhiên khi rất nhiều tác giả chọn lối thoát khá dễ dàng: Họ nói rằng chồng chất có nghĩa là “cả hai cùng một lúc”, vì vậy mà 1 bit lượng tử (ký hiệu là qubit), chỉ là 1 bit mà có thể ở trạng thái “cả 0 và 1 cùng một lúc”, trong khi một bit cổ điển chỉ có thể ở trạng thái hoặc 0 hoặc 1. Họ tiếp tục giảng giải rằng một máy tính lượng tử sẽ thực thi với tốc độ của nó bằng cách sử dụng các qubit để giải quyết tất cả các bài toán có thể theo phương pháp chồng chất – nghĩa là đồng thời hoặc song song.

Đây là chính điều mà tôi nghĩ là sai lầm tai hại trong việc phổ biến kiến thức về tính toán lượng tử, là sai lầm cơ bản dẫn đến mọi sai lầm khác. Từ đây, chỉ với vài bước ngắn ngủi nữa, người ta có thể giải thích máy tính lượng tử có thể nhanh chóng giải quyết những bài toán như là “bài toán người bán hàng” bằng cách đồng thời thử tất cả các khả năng – điều mà hầu hết các chuyên gia đều tin rằng chúng không thể thực hiện được.

Vấn đề là, để một chiếc máy tính trở nên hữu ích, tại một thời điểm nào đó, bạn cần phải xem xét kết quả đầu ra. Nhưng nếu bạn nhìn vào sự chồng chất bằng nhau của tất cả các giải pháp có thể, các quy tắc của cơ học lượng tử cho biết bạn sẽ chỉ thấy được một giải pháp ngẫu nhiên. Và nếu như đó là tất cả những gì bạn muốn, thì bạn có thể tự chọn lấy một giải pháp.

Ý nghĩa thực sự của chồng chất là “tổ hợp tuyến tính phức“. Ở đây, “phức” không có nghĩa là “phức tạp” mà theo nghĩa là “số phức” – một đại lượng có thể được viết dưới dạng tổng của một số thực cộng với một số ảo, và “tổ hợp tuyến tính” có nghĩa là ta nhóm các bội số trạng thái khác nhau lại với nhau. Vì vậy, một qubit là một bit mà có một số phức được gọi là biên độ gắn với khả năng 0 và một biên độ khác gắn với khả năng 1. Các biên độ này có liên quan chặt chẽ đến xác suất, trong đó biên độ kết quả càng xa zero, thì cơ hội nhìn thấy kết quả đó càng lớn; một cách chính xác hơn, xác suất này bằng bình phương khoảng cách.

Nhưng biên độ không phải là xác suất. Chúng tuân theo những quy tắc khác nhau. Ví dụ, nếu một vài đại lượng tác động vào biên độ là dương còn những đại lượng khác là âm, thì chúng giao thoa triệt tiêu và loại trừ lẫn nhau, khi đó biên độ bằng 0 và kết quả tương ứng là không thể quan sát; tương tự như vậy, chúng có thể giao thoa cực đại và tăng khả năng xảy ra một kết quả nhất định. Mục tiêu của việc tạo ra một thuật toán cho máy tính lượng tử là biên soạn một mô hình giao thoa cực đại và giao thoa triệt tiêu sao cho với mỗi đáp án sai, các đại lượng góp vào biên độ của nó loại trừ lẫn nhau, trong khi đối với đáp án đúng, các đại lượng góp vào biên độ củng cố lẫn nhau. Khi – và chỉ khi – thực hiện được điều đó, ta sẽ thấy đáp án đúng với một xác suất lớn khi ta quan sát. Phần khó khăn chính là thực hiện điều này mà không biết trước đáp án và nhanh hơn so với một máy tính truyền thống có thể làm.


Hai mươi bảy năm trước, Shor đã chỉ ra cách thức thực hiện điều này bằng thuật toán phân tích nhân tử, phá vỡ các mật mã được sử dụng rộng rãi trong giao dịch thương mại trực tuyến. Hiện nay, chúng ta đã biết cách áp dụng thuật toán đó vào một số bài toán khác, nhưng chỉ bằng cách khai thác cấu trúc toán học cụ thể trong các bài toán đó. Vấn đề ở đây không chỉ là thử tất cả các đáp án có thể một cách đồng thời.

Khó khăn càng thêm chồng chất là, nếu ta muốn nói một cách trung thực về tính toán lượng tử, thì ta cũng cần có vốn từ vựng khái niệm kha khá về lý thuyết khoa học máy tính. Tôi thường được hỏi máy tính lượng tử sẽ nhanh hơn máy tính thông thường bao nhiêu lần. Một triệu? Một tỷ?

Câu hỏi này cho thấy người ta không hiểu (misses the point) về máy tính lượng tử, đó chính là nó chỉ có ưu thế tốt hơn khi xử lý bài toán có quy mô dữ liệu đầu vào cực lớn. Nghĩa là, một thuật toán được xem là tốt nhất khi nó xử lý bài toán có độ phức tạp tính toán hàm mũ O(2n) với số bước thực hiện như bài toán có độ phức tạp tính toán bậc 2 O(n2) – với n là quy mô dữ liệu đầu vào của bài toán. Trong những trường hợp như vậy, đối với n nhỏ, đem máy tính lượng tử ra xử lý thì thực sự lãng phí và vô dụng. Chỉ khi n đủ lớn để xuất hiện tốc độ lượng tử thì máy tính lượng tử mới phát huy tác dụng và có ưu thế.

Nhưng làm sao để ta biết chắc chắn là không có lối tắt nào đó – một thuật toán thông thường vẫn có thể mở rộng quy mô xử lý tương tự như một thuật toán lượng tử? Mặc dù thường bị bỏ qua trong các cuộc tranh luận phổ biến, câu hỏi này mới chính là trọng tâm trong nghiên cứu thuật toán lượng tử. Trong đó, người ta không quá khó khăn để chứng minh rằng máy tính lượng tử có thể xử lý một việc gì đó rất nhanh chóng, nhưng người ta không thể lập luận một cách thuyết phục rằng máy tính cổ điển thì không. Than ôi, hóa ra người ta gặp khó khăn khá kinh dị khi chứng minh một bài toán là khó, như được minh họa bằng bài toán “P versus NP” nổi tiếng (câu hỏi đại khái là, liệu mọi bài toán có các phương pháp kiểm tra nhanh chóng thì cũng có thể được giải đáp nhanh chóng không?) Viện toán Clay (Clay Mathematics Institute) đã treo thưởng một triệu đô la cho ai giải được một trong 7 bài toán thiên niên kỷ chưa có lời giải, một trong số này chính là câu hỏi: “P có bằng NP?” hay “In P or not in P, that’s the question!”. Đây không chỉ là vấn đề học thuật, mà còn là vấn đề cần sự thận trọng: Trong vài thập kỷ qua, tốc độ lượng tử ước lượng đã lần lượt rơi rụng khi các thuật toán cổ điển được tìm thấy cũng có hiệu suất tương tự.


Lưu ý rằng, sau khi giải thích tất cả những điều trên, tôi vẫn chưa đề cập một lời nào về khó khăn thực tế của việc tạo ra máy tính lượng tử. Nói một cách dễ hiểu, vấn đề chính là sự mất mát lượng tử, nghĩa là tương tác không mong đợi giữa máy tính lượng tử và môi trường xung quanh – điện trường lân cận, vật thể ấm và những công cụ khác dùng để ghi nhận thông tin qubit. Điều này có thể dẫn đến việc “đo lường” quá sớm các qubit, chúng sẽ trở thành các bit bình thường, là 0 hoặc là 1. Giải pháp duy nhất cho vấn đề này là sửa lỗi lượng tử (quantum error correction): một lược đồ, được đề xuất vào giữa những năm 1990, mã hóa khéo léo từng qubit của tính toán lượng tử thành trạng thái tập hợp của hàng chục hoặc thậm chí hàng nghìn qubits vật lý. Hiện nay, các nhà nghiên cứu chỉ mới bắt đầu thực hiện việc sửa lỗi như vậy trong thế giới thực, và còn lâu mới đến việc triển khai vào sử dụng thực tế. Khi bạn nghe nói về những thử nghiệm mới nhất với 50 hoặc 60 qubits vật lý, bạn phải hiểu rằng các qubit này chưa được sửa lỗi. Cho đến khi đó, ta không mong đợi họ có thể mở rộng hơn vài trăm qubits.

Khi một người hiểu rõ những khái niệm này, tôi mới dám khẳng định họ đã sẵn sàng để bắt đầu đọc – hoặc thậm chí có thể viết – một bài báo về những tiến bộ mới nhất trong lĩnh vực tính toán lượng tử. Lúc đó, họ sẽ biết những vấn đề nào cần được đặt ra trong cuộc đấu tranh liên tục để phân biệt giữa thực tế và cường điệu. Hiểu được những chuyện vớ vẩn này là hoàn toàn có thể, bởi xét cho cùng, nó không phải là chuyện gì ghê gớm lắm (it isn’t rocket science), nó cũng chỉ là tính toán lượng tử thôi mà!

(Nguồn: What Makes Quantum Computing So Hard to Explain?)

No Comments Yet.

What do you think?

Your email address will not be published.