Luận văn gồm có phần mở đầu, kết luận và 04 chương đềcập tới các nội dung chính như sau: Chương 1: Các khái niệm cơ bản nghiên cứu các cơ sở của lý thuyết tính toán lượng tử, các khái
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM VIỆT HÙNG
MỘT SỐ PHƯƠNG PHÁP MÃ HÓA LƯỢNG TỬ
VÀ MÔ PHỎNG TRÊN MÁY TÍNH
LUẬN VĂN THẠC SĨ
HÀ NỘI - 2006
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM VIỆT HÙNG
MỘT SỐ PHƯƠNG PHÁP MÃ HÓA LƯỢNG
TỬ VÀ MÔ PHỎNG TRÊN MÁY TÍNH
Ngành: Công nghệ thông tin
Trang 3MỤC LỤC
LỜI CẢM ƠN 4
Danh mục các từ viết tắt 5
Danh mục các hình vẽ 6
Mở đầu 7
Chương 1 Các khái niệm cơ bản 10
1.1 Ký hiệu Bra-Ket 10
1.2 Nguyên lý cơ bản của cơ học lượng tử 11
1.3 Qubit và thanh ghi lượng tử 13
1.3.1 Khái niệm Qubit 13
1.3.2 Khái niệm thanh ghi lượng tử 14
1.3.3 Phép biến đổi Unita và phép đo 16
1.4 Nguyên lý rối lượng tử (Nguyên lý Entanglement) 17
1.5 Nguyên lý song song lượng tử 18
1.6 Nguyên lý không thể sao chép (No-Cloning Theorem) 18
1.7 Mạch và Cổng logic lượng tử 20
1.7.1 Cổng 1 qubit 21
1.7.2 Cổng 2 qubit 23
1.7.3 Cổng 3 qubit 25
1.7.4 Cổng phổ dụng 26
Chương 2 Một số thuật toán lượng tử 28
Trang 42.1 Thuật toán lượng tử 28
2.2 Thuật toán Deutsch-Jozsa 29
2.3 Biến đổi Fourier lượng tử 34
2.3.1 Phép biến đổi Fourier rời rạc 34
2.3.2 Phép biến đổi Fourier lượng tử 35
2.3.3 Phép biến đổi nhanh Fourier lượng tử 36
2.3.4 Sự thực hiện QFFT bởi các cổng lượng tử 37
2.4 Thuật toán phân tích thừa số nguyên tố của Peter Shor 38
Chương 3 Mã hoá lượng tử 47
3.1 Giao thức phân phối khoá lượng tử BB84 48
3.1.1 Giao thức phân phối khoá lượng tử BB84 trường hợp không nhiễu 48
3.1.2 Giao thức phân phối khoá lượng tử BB84 trường hợp có nhiễu 52
3.1.3 Một số nhược điểm của giao thức phân phối khoá lượng tử BB84 54
3.1.4 Về độ an toàn của giao thức phân phối khoá BB84 55
3.2 Kết luận về mã hoá lượng tử và thám mã lượng tử 58
Chương IV Xây dựng bộ công cụ mô phỏng 59
4.1 Hướng giải quyết 59
4.2 Thư viện cốt lõi cho mô phỏng tính toán lượng tử 62
4.2.1 Một số vấn đề phải giải quyết khi lập trình mô phỏng 62
4.2.2 Xây dựng các lớp cơ bản 63
4.3 Ngôn ngữ Q – Ngôn ngữ lập trình lượng tử 74
4.3.1 Cấu trúc của chương trình viết bằng ngôn ngữ Q 75
Trang 54.3.2 Sơ lược về ngôn ngữ Q 76
KẾT LUẬN 81
TÀI LIỆU THAM KHẢO 83
Tài liệu tiếng Việt 83
Tài liệu tiếng Anh 84
PHỤ LỤC A File Lex/Flex và YACC/Bison của ngôn ngữ Q 89
A1 File q.lex (File định nghĩa phân tích từ vựng) 89
A2 File q.y (File định nghĩa phân tích cú pháp) 96
PHỤ LỤC B Thuật toán Peter Shor viết bằng ngôn ngữ Q 103
B1 File shor.q 103
B2 File tinhtoansonguyen.q 104
B3 File biendoifourier.q 109
PHỤ LỤC C Một số màn hình kết quả chương trình 110
PHỤ LỤC D Thư đồng ý của tác giả Bernhard Ömer 111
Trang 6Danh mục các từ viết tắt
B92 Giao thức phân phối khóa lƣợng tử B92
BB84 Giao thức phân phối khóa lƣợng tử BB84
CGI Giao diện cổng lập trình chung (Common Gateway
Interface)FFT Phép biến đổi Fourier nhanh (Fast Fourier Transform)
FT Phép biến đổi Fourier (Fourier Transform)
ISAPI Internet Server Application Programming Interface
QFFT Phép biến đổi Fourier nhanh lƣợng tử (Quantum Fast
Fourier Transform)qubit Bit lƣợng tử (Quantum bit)
qureg Thanh ghi lƣợng tử (Quantum Register)
STL Thƣ viện khuôn mẫu chuẩn (Standard Template Library)
Trang 7Danh mục các hình vẽ
Hình 1.1 Biểu diễn cổng NOT 22
Hình 1.2 Biểu diễn cổng Z 22
Hình 1.3 Biểu diễn cổng Hadamard 23
Hình 1.4 Biểu diễn cổng CNOT 24
Hình 1.5 Biểu diễn cổng Swap 24
Hình 1.6 Biểu diễn cổng dịch pha có điểu khiển 25
Hình 1.7 Biểu diễn cổng Toffoli 26
Hình 1.8 Biểu diễn cổng Toffoli 26
Hình 2.1 Sơ đồ mạch của thuật toán Deutch-Jozsa 33
Hình 2.2 Biểu diễn cổng quay một góc 37
Hình 2.3 Phép biến đổi Fourier lƣợng tử 38
Hình 3.1 Sơ đồ của giao thức BB84 49
Hình 4.1 Mô hình xử lý của trình biên dịch Q 75
Hình 4.2 Sơ đồ biểu diễn một thuật toán lƣợng tử đƣợc xử lý trong ngôn ngữ Q 76
Trang 8Mở đầu
Hiện nay, sự kết hợp của vật lý lượng tử và cơ sở toán học hiện đại đã tạo nềnmóng cho việc xây dựng máy tính lượng tử trong tương lai Theo các dự báo thì máytính lượng tử sẽ xuất hiện vào khoảng những năm 2010-2020 Isaac L Chuang, người
đứng đầu nhóm nghiên cứu của IBM về máy tính lượng tử cũng đã khẳng định ―Máy
tính lượng tử sẽ bắt đầu khi định luật Moore kết thúc – vào khoảng năm 2020, khi mạch được dự báo là đạt đến kích cỡ của nguyên tử và phân tử‖ (nguyên văn
―Quantum computing begins where Moore's Law ends about the year 2020, when
circuit features are predicted to be the size of atoms and molecules‖
Ở Việt Nam hiện nay, các nhà toán học cũng bước đầu có những nghiên cứu
về tính toán lượng tử và mô phỏng tính toán lượng tử trên máy tính thông thường
Ví dụ như nhóm Quantum của trường Đại học Bách Khoa Hà Nội [5] Tuy nhiênvẫn còn nhiều vấn đề để mở, và việc này cần có sự đầu tư thích đáng, tìm tòi, thựcnghiệm trên cơ sở những thành tựu về lý thuyết và kinh nghiệm sẵn có trên thế giới,đồng thời áp dụng vào thực tế
Trang 9Mục đích, đối tượng và nội dung của luận văn
Trong khuôn khổ luận văn này, trên những cơ sở những thành tựu đã có trênthế giới và trong nước tôi sẽ trình bày tổng quan các nghiên cứu lý thuyết về tínhtoán lượng tử, đồng thời xây dựng một bộ công cụ mô phỏng tính toán lượng tử vàcác thuật toán lượng tử Luận văn gồm có phần mở đầu, kết luận và 04 chương đềcập tới các nội dung chính như sau:
Chương 1: Các khái niệm cơ bản nghiên cứu các cơ sở của lý thuyết
tính toán lượng tử, các khái niệm cơ bản như qubit, thanh ghi lượng tử, cổng và mạchlượng tử cũng như các nguyên lý cơ bản của tính toán lượng tử như nguyên lý songsong lượng tử, nguyên lý không thể sao chép…
Chương 2: Một số thuật toán lượng tử nghiên cứu một số thuật toán
lượng tử quan trọng như thuật toán Deutsch-Jozsa (thuật toán lượng tử đầu tiên), biếnđổi Fourier lượng tử và quan trọng nhất là thuật toán Peter Shor về tìm chu kỳ của hàm
số từ đó dẫn đến bài toán phân tích số ra thừa số nguyên tố Thuật toán Peter Shor chothấy sức mạnh của tính toán lượng tử so với tính toán hiện nay trên máy tính cổ điển
Chương 3: Mã hoá lượng tử Do có khả năng tính toán bùng nổ theo
cấp luỹ thừa của tính toán lượng tử dẫn đến việc phải nghiên cứu các phương pháp mãhoá mới sử dụng tính toán lượng tử để chống lại khả năng thám mã sử dụng tính toánlượng tử Mục đích của chương này là đề cập đến một ví dụ về mã hoá lượng tử và thám
mã lượng tử đối với một hệ mã lượng tử đơn giản là phân phối khoá lượng tử BB84
Chương 4: Xây dựng bộ công cụ mô phỏng Trên cơ sở các nghiên cứu
lý thuyết về tính toán lượng tử và các thuật toán lượng tử ở trên, phần này trình bày chitiết về phương pháp xây dựng mô hình mô phỏng tính toán lượng tử trên máy tính cổđiển và xây dựng một trình biên dịch Q
Trang 10dựa trên nền tảng mã nguồn mở có hỗ trợ cú pháp tiếng Việt nhằm mô phỏng các chương trình lượng tử.
Ý nghĩa khoa học và thực tiễn của đề tài:
Bảo mật đã, đang và sẽ tiếp tục là một vấn đề sôi động trong lĩnh vực nghiêncứu khoa học cũng như ứng dụng trong thực tế Không chỉ lĩnh vực quan sự mớicần đến bảo mật mà các ứng dụng dân sự cũng cần phải có sự đảm bảo về bảo mật
và an toàn dữ liệu Đặc biệt khi các ứng dụng thương mại điện tử càng ngày càngphát triển như hiện nay thì bảo mật là vấn đề sống còn đối với các ứng dụng đó.Các hệ mã hoá công khai (như RSA) hay bí mật (như AES) và các giao thức chia
sẽ bí mật đã là một phần không thể thiếu của các ứng dụng ngày nay
Nhưng khi máy tính lượng tử xuất hiện thì các hệ mã hoá được coi là antoàn và sử dụng rộng rãi hiện nay như RSA sẽ không còn đảm bảo an toàn Do đóviệc nghiên cứu tính toán lượng tử và các hệ mã dựa trên tính toán lượng tử là mộtvấn đề cấp thiết nhằm đáp ứng nhu cầu của tương lai gần, khi mà máy tính lượng tửđược thương mại hoá Điều này không chỉ đảm bảo cho các ứng dụng dân sự màcòn đảm bảo an toàn cho các ứng dụng quân sự, nơi an toàn dữ liệu được đặt lênhàng đầu
Do đó, việc nghiên cứu tính toán lượng tử rất có ý nghĩa thực tế, là tiền đềxây dựng và ứng dụng tính toán lượng tử, không chỉ trong lĩnh vực bảo mật mà còn
có thể mở rộng ra các lĩnh vực khác Đặc biệt trong bối cảnh ―đi tắt đón đầu‖ của
Việt Nam, việc nghiên cứu tính toán lượng tử góp phần giúp CNTT nước nhà tiếpcận với nền công nghệ cao của thế giới
Trang 11tử trong lý thuyết cơ học lượng tử.
Trong cơ học lượng tử, trạng thái của một hệ vật lý được mô tả bởi một
vector trong không gian Hilbert phức (sẽ nói rõ hơn ở phần sau), mỗi vector đó được gọi là ket và ký hiệu là (đọc là psi ket)
Ứng với mỗi ket có một bra và ký hiệu là (đọc là psi bra) là ánh xạtuyến tính liên tục từ không gian Hilbert phức tới không gian số phức được địnhnghĩa bởi | ( , ) với mọi ket Trong đó ( , ) là tích vô
hướng trong không gian Hilbert Trong ngôn ngữ ma trận, bra là ma trận chuyển
vị liên hợp với ket và ngược lại
Ký hiệu | được gọi là tích bra-ket (hay bracket).
Tính chất của bra-ket:
- Tính tuyến tính của bra và ket: với c 1 và c 2 là các số phức, ta có
o c1 1 c2 2 c1 | 1 c2 | 2
oc1 1 c2 2 c1 1 | c2 2 |
Trang 12- Cho ket 1 và 2 bất kỳ, c 1 và c 2 là các số phức, từ tính chất của
tích vô hướng ta có c1 1 c2 2là vector đối ngẫu với
c* 1 c* 2 trong đó c1 * và c2 * là các số phức liên hợp với c 1 và
- Cho bra và ket bất kỳ, từ tính chất của tích vô hướng trongkhông gian Hilbert ta có | | *
1.2 Nguyên lý cơ bản của cơ học lượng tử
Trong cơ học cổ điển (hay cơ học Newton), trạng thái của một hệ n phần tử
tại thời điểm t0 được xác định bởi vị trí {x1(t0), x2(t0), …, xn(t0)} và vận tốc của hệ
là đạo hàm bậc nhất của các phần tử {x1’(t0), x2’(t0), …, xn’(t0)} Nếu trạng thái khởi
đầu được xác định, nhờ các định luật về cơ học cổ điển của Newton, chúng ta có thể
hoàn toàn xác định (ít nhất là về mặt nguyên lý) trạng thái của hệ tại bất cứ thời
điểm t nào
Tuy nhiên, cơ học lượng tử hoàn toàn dựa trên một nền tảng toán học hoàn
toàn khác so với cơ học cổ điển Dưới đây, tôi sẽ đề cập đến một số tiên đề cơ sở
của cơ học lượng tử
Tiên đề 1 Trạng thái của một hệ vật lý S được mô tả bằng một vector đơn vị
|, được gọi là vector trạng thái hoặc hàm sóng, nằm trong một không gian
Hilbert S gắn liền với hệ vật lý.
Sự tiến triển theo thời gian của vector trạng thái | của hệ tuân theo
phương trình Schrödinger
trong đó H là toán tử tự liên hợp của hệ thống (còn gọi là toán tử
Hamiltonian) và ħ là hằng số Planck-Dirac (hay còn gọi là hằng số Planck đơn
Trang 14giản), ħ=h/2π, với h là hằng số Planck Giá trị của h ≈ 6.626x10 -34 J.s (J là Joule
và s là giây) được xác định bằng thực nghiệm.
Như ta thấy ở trên, phương trình Schrödinger là phương trình vi phân tuyến
tính bậc nhất Do đó ta có thể áp dụng nguyên lý siêu trạng thái (Superposition
principle): Nếu |1(t) và |2(t) là nghiệm của phương trình Schrödinger, khi đó
siêu trạng thái |(t) = α|1(t) + β|2(t) (với α β là số phức) cũng là nghiệm củaphương trình Do vậy toán tử phát triển theo thời gian của hệ sẽ là:
|(t) = U (t, t0) |(t0)
và U là toán tử tuyến tính.
Theo [3, 11] U sẽ là toán tử Unita Chính vì vậy trong mô hình toán học cho
cơ học lượng tử, chúng ta sẽ sử dụng các phép biến đổi Unita
Tiên đề 2 Trạng thái của một hệ vật lý S được mô tả bằng một vector đơn vị
|, được gọi là vector trạng thái hoặc hàm sóng, nằm trong một không gian Hilbert H S gắn liền với hệ vật lý.
Nguyên lý bất định Heisenberg Cho A và B là hai toán tử Hermiltian gắn
liền với các quan sát, A B là hai toán tử không giao hoán và | là hàm sóng gắn liền với trạng thái lượng tử Khi đó bất đẳng thức sau luôn thoả mãn:
2
trong đó [A,B] = AB - BA
Nguyên lý Heisenberg cho ta biết rằng khi đo một trạng thái lượng tử theo
hai đại lượng (như vị trí và vận tốc của hạt cơ bản), ta không thể đo chính xác
được đồng thời cả hai giá trị đó Nguyên lý Heisenberg được ứng dụng trong các hệphân phối khoá lượng tử như BB84 mà chúng ta sẽ xem xét ở phần sau
Trang 151 3
1.3 Qubit và thanh ghi lượng tử
1.3.1 Khái niệm Qubit
Trước hết ta xét cách quan niệm mới về bit - đơn vị thông tin cơ bản trong
mô hình mới này: đó là qubit
Như ta đã biết: 1 bit cổ điển có thể biểu diễn một trong hai trạng thái: 0 hoặc
1 (ở tại một thời điểm xác định) Do đó, n bit có thể biểu diễn 2 n trạng thái khác
nhau Nhưng theo cách quan niệm cổ điển, nếu một thanh ghi được tạo nên từ n bit
cổ điển, tại một thời điểm, nó chỉ có thể biểu đúng một giá trị nguyên trong khoảng
từ 02n1
Theo quan niệm mới về mô hình tính toán lượng tử dựa trên nền tảng vật lýlượng tử, chúng ta thấy rằng tại một thời điểm một thanh ghi lượng tử có thể chứađược tổ hợp nhiều giá trị
Xét theo mô hình vật lý, qubit là một vi hạt có hai trạng thái, nó có thể là:spin hạt nhân trong phân tử, ion bị bẫy (trapped ions), … Chúng ta quan tâm đếnhai trạng thái đặc biệt được ký hiệu là 0 & 1 , được coi là hai trạng thái cơ sở tínhtoán
Theo mô hình toán học, xét không gian Hilbert 2 ( là trường số phức) Nó có
cơ sở trực giao là (1, 0) và (0, 1), ta ký hiệu tương ứng là 0 & 1 Qubit cơ sở baogồm hai dạng 0 hoặc 1 Khi đó, một 1-qubit tổng quát biểu diễn một vector đơn vịtrong không gian 2 , trong đó trạng thái 0 ứng với vector (1, 0), còn trạng thái 1 sẽứng với vector (0, 1) đồng thời thoả mãn điều kiện chuẩn hoá về xác suất Như vậy,dạng tổng quát của một 1-qubit là:
0 1
,
Trang 16Đối với qubit có trạng thái tổng quát là 0 1 , chúng ta có thể tiến
hành đo (sẽ nói rõ hơn ở phần sau) trạng thái của qubit Khi đó, theo các nguyên lý
của cơ học lượng tử thì xác suất để nhận được trạng thái 0 là α2, xác suất để nhậnđược trạng thái 1 là β2, do đó α, β phải thoả mãn điều kiện xác suất α2 + β2 = 1
Như vậy sử dụng 0 & 1 ta có thể biểu diễn trạng thái của một qubit, cũnggiống như 0 & 1 biểu diễn trạng thái của bit cổ điển
Để đi đến khái niệm thanh ghi lượng tử (quantum register), người ta mở rộng không gian trạng thái bằng cách sử dụng tích tensor [6,23] của các không gian 2
1.3.2 Khái niệm thanh ghi lượng tử
Định nghĩa: Một thanh ghi lượng tử (quantum register) biểu diễn một
vector trong không gian Hilbert = ( 2 )n , đã được chuẩn hoá ( ( 2 )n là tích
Tensor của n không gian 2 )
Do cơ sở của ( 2 )nlà:
0 0 0 i0 00 0 i0 0
0 0 1 i1 00 1 i1 1
Trang 18X có toạ độ trong không gian Hilbert là (c 0 , c 1 , c 2 , …, c n)
Trạng thái lượng tử được biểu diễn một thanh ghi được gọi là một siêu
trạng thái (Superposition) Ta cũng thấy rằng một quantum register có thể lưu trữ
đồng thời 2 n thông tin khác nhau: 02n1
Tồn tại siêu trạng thái của thanh ghi có thể mô tả bởi:
X i1 i2 i n ; trong đó i j là qubit thứ j
Tuy nhiên cũng có những siêu trạng thái không thể biểu diễn được dưới
dạng như vậy
Ta xét hai ví dụ với thanh ghi 2-qubit có thể biểu diễn được bằng tích tensor
của hai 1-qubit:
mà không làm ảnh hưởng đến các hệ thống còn lại Ví dụ, khi tiến hành đo qubit
thứ nhất được giá trị 0 hay 1 thì qubit thứ hai luôn đo được kết quả 0 Có thể so
sánh với trạng thái rối lượng tử ở mục sau
Trang 191 6
1.3.3 Phép biến đổi Unita và phép đo.
Đối với tính toán lượng tử, có 2 loại phép biến đổi cơ bản là phép biến đổiUnita và phép biến đổi không Unita Đối với lớp phép biến đổi không Unita chỉ cóphép đo
Các phép biến đổi Unita là các phép biến đổi không mất năng lượng Do vậycác phép biến đổi Unita là các phép biến đổi khả nghịch Về mặt toán học có thể coi
là các ánh xạ trong các không gian Hilbert đẳng cấu
U: '
trong đó và ’ là hai không gian Hilbert có cùng số chiều (ở đây chúng tachỉ xét đến không gian Hilbert hữu hạn chiều, với các không gian Hilbert vô hạnchiều, sẽ có cách tiếp cận khác không được đề cập đến trong luận văn này)
Còn phép đo là phép biến đổi mất năng lượng, do đó phép đo là phép biếnđổi bất khả nghịch Về mặt toán học có thể coi là phép đo là phép ánh xạ về khônggian Hilbert có số chiều ít hơn
U: '
trong đó và ’ là hai không gian Hilbert, ’ có số chiều nhỏ hơn .Đối với hệ lượng tử, khi áp dụng phép đo thì ta sẽ không thể tiên đoán độxác định của kết quả (nguyên lý bất định Heisenberg) Kết quả thu được phụ thuộcvào xác suất của các trạng thái được biểu diễn bởi hệ lượng tử Đồng thời theo cácnguyên lý của cơ học lượng tử, ngay sau khi đo lập tức hệ lượng tử sẽ sụp đổ về giátrị đo được
Ví dụ: Trong trường hợp tổng quát, một n-qubit X đang ở trạng thái lượng
tử:
Trang 20suất đo đƣợc giá trị i là c i 2 Đồng thời ngay sau khi tiến hành đo, X sẽkhông còn
q sẽ sụp đổ về trạng thái 0
1.4 Nguyên lý rối lượng tử (Nguyên lý Entanglement)
Nguyên lý rối lƣợng tử là một trong những nguyên lý quan trọng của tínhtoán lƣợng tử Nguyên lý rối lƣợng tử cho phép việc tính toán diễn ra một cáchđồng thời trên các thành phần của qubit đầu vào khi nó ở trạng thái rối lƣợng tử
Ví dụ : Ta xét ví dụ sau đây: X 1
2 0 3 1
2 00
11
Trang 21Khi tiến hành đo một qubit, tuỳ theo kết quả của phép đo mà ta có ngay trạngthái của qubit còn lại Tức là phép đo đã ảnh hưởng đến toàn bộ hệ thống:
Nếu kết quả là 0 thì trạng thái qubit còn lại là 0
Trang 22Nếu kết quả là 1 thì trạng thái qubit còn lại là 1
Suy ra: giữa hai hệ thống con có mối quan hệ nào đó Người ta gọi những
trạng thái như vậy là rối lượng tử hay vướng lượng tử (Quantum Entanglement).
Trạng thái này của hệ 2-qubit không thể phân tích thành tích tensor của hai hệ thốngcon 1-qubit
1.5 Nguyên lý song song lượng tử
Thanh ghi lượng tử cùng một lúc có thể lưu trữ nhiều trạng thái đơn lẻ khácnhau nhưng có một đặc điểm đáng chú ý là: bất kỳ một phép tác động nào lên mộtthanh ghi lượng tử thì nó sẽ tác động lên đồng thời toàn bộ các trạng thái mà thanhghi đó lưu trữ (ta không thể tách rời các trạng thái để thao tác trên chúng một cáchriêng lẻ)
2 n 1 2 n 1
Nghĩa là U c i i c i U i vớiUlà một phép biến đổiUnitanào đó Ở
đây ta có thể thấy sức mạnh của tính toán lượng tử vì nếu trong tính toán cổ điển để
thực hiện được phép biến đổi trên, chúng ta cần nhân ma trận ma trận C = (c 0 , c 1 ,
c 2 , …, c n ) với ma trận U cỡ 2 n x 2 n còn trong tính toán lượng tử, chúng ta chỉ cần
một phép biến đổi Unita (có thể biểu diễn bằng một cổng lượng tử, xem 1.7) Tức là
độ phức tạp có thể giảm theo cấp luỹ thừa
1.6 Nguyên lý không thể sao chép (No-Cloning Theorem)
Trong tính toán cổ điển, có một tính chất của bit cổ điển là chúng ta có thể dễdàng tạo một bản sao chứa cùng thông tin Tuy nhiên, đối với tính toán lượng tử,trạng thái của qubit tổng quát nói chung không thể sao chép
Định lý: Không thể tạo ra một máy thực hiện các phép biến đổi Unita có khả
năng sao chép hoàn hảo trạng thái của một qubit bất kỳ.
Chứng minh:
Trang 231 9
Thực vậy, giả sử ta có đƣợc một máy sao chép hoàn hảo Khi đó xét hệ bao gồm hai qubit (qubit đƣợc sao chép, qubit sao chép) và máy sao chép trạng thái
Qubit đƣợc sao chép ở trạng thái tổng quát:
Chúng ta sẽ chứng minh phép biến đổi Unita trên không thể tồn tại
Thực vậy, nếu trạng thái của qubit thứ nhất là 0 , phép biến đổi Unita U sẽ
Trang 24U A i U 0 1 A i
U 0 A i U 1 A i
0 0 A f0 1 1 Af1
Ta thấy trạng thái (1.6.4) này khác hoàn toàn so với trạng thái (1.6.1) chúng
ta mong muốn, suy ra điều cần phải chứng minh
Ở đây, định lý này muốn khẳng định không tồn tại một máy sao chép trạngthái bất kỳ, tuy nhiên với một số trạng thái lượng tử đặc biệt như 0 hay 1 thì ta cóthể tạo được máy sao chép
1.7 Mạch và Cổng logic lượng tử
Trong mô hình máy tính cổ điển, các nhà khoa học đã mô hình hoá toán họcbằng các mô hình như cổng và mạch logic cổ điển, máy tính Turing Tương tự vậy,trong tính toán lượng tử, các nhà khoa học cũng được xây dựng các mô hình như
mô hình cổng và mạch logic lượng tử, máy tính Turing lượng tử Yao đã chỉ rarằng với mỗi máy Turing lượng tử, tồn tại mô hình mạch logic lượng tử mô phỏngmáy Turing lượng tử đó với thời gian đa thức [14] Do đó chúng ta chỉ cần nghiêncứu một mô hình cổng và mạch logic lượng tử, do mô hình này đơn giản và gần gũivới cách thiết kế máy tính lượng tử Từ đó dẫn đến kết quả tương tự trong mô hìnhmáy Turing lượng tử
Một cách tương tự như máy tính cổ điển, được xây dựng dựa trên các cổnglogic cơ bản như AND, OR, NOT, … trong mô hình tính toán lượng tử, chúng tacũng xây dựng các cổng lượng tử
Do yêu cầu của cơ học lượng tử là các phép biến đổi hệ lượng tử bắt buộc làUnita [3,11] do đó trong mô hình toán học của tính toán lượng tử, chúng ta sử dụngcác toán tử Unita
Định nghĩa: Một cổng logic lượng tử qubit được sử dụng để biến đổi
n-qubit được biểu về mặt toán học bởi một phép biến đổi Unita tác động lên
Trang 25vector siêu trạng thái của n-qubit đó Ma trận biến đổi Unita tác động lên n-qubit là ma trận 2 n x2 n
Định nghĩa: Mạch lôgic lượng tử là một tập các cổng lôgic lượng tử liên
kết theo một đồ thị có hướng không chu trình, trong đó đầu ra của cổng này có thể là đầu vào của cổng kia.
Dưới đây là một số cổng logic lượng tử cơ bản
Trang 26X U2(
Biểu diễn trong mạch:
Hình 1.1 Biểu diễn cổng NOT
1 1
0 1
2
Dạng ma trận
Trang 27Biểu diễn trong mạch:
Hình 1.3 Biểu diễn cổng Hadamard
1.7.2 Cổng 2 qubit
i/ Controlled NOT (CNOT)
Cổng CNOT này thực hiện tương tự phép toán XOR trong tính toán cổ điển.Thực hiện:
a, b 0,1
b giữ nguyên nếu a = 0
b đảo bit nếu a = 1
Trang 29Bit điều khiểnBit đíchHình 1.4 Biểu diễn cổng CNOT
ii/ Cổng hoán vị hai bit (Cổng Swap)
Ứng dụng cổng CNOT: hoán vị hai bit
Hình 1.5 Biểu diễn cổng Swap
iii/ Cổng dịch pha có điều khiển (Controlled phase shift gate)
Cổng dịch pha có điều khiển là cổng không có cổng tương tự trong tính toán
Trang 31Hình 1.7 Biểu diễn cổng ToffoliCổng Toffoli áp dụng cổng Not lên qubit cuối cùng nên ta có thể biểu diễn dưới dạng mạch như sau:
Hình 1.8 Biểu diễn cổng ToffoliChúng ta có thể sử dụng cổng Toffoli và cổng CNOT để biểu diễn mạch cộng nhị phân có nhớ như sau:
Hình 1.9 Biểu diễn cổng cộng nhị phân có nhớ
1.7.4 Cổng phổ dụng
Trên thực tế, chúng ta muốn xây dựng và sử dụng chỉ một số cổng cơ bản tác
động lên một số lượng nhỏ qubit (độc lập với số lượng n qubit cần xử lý, n có thể
Trang 32rất lớn) nhưng phải đảm bảo yêu cầu có thể tính được một hàm bất kỳ Các cổng
đó được gọi là cổng phổ dụng Trong tính toán cổ điển, ta đã biết được cổng NOT
và AND là cổng phổ dụng Tương tự, trong tính toán lượng tử, chúng ta sẽ địnhnghĩa về cổng phổ dụng
Định nghĩa: Một tập cổng lượng tử G được gọi là phổ dụng nếu > 0
và mọi ma trận Unita U tác động trên số bít bất kì, U có thể được xấp xỉ với độ chính xác > 0 bằng một dãy cổng của G Nói cách khác nhóm con tạo nên bởi G là trù mật trong nhóm nhóm các toán tử Unita, n Tức là U,0,U' được tạo nên bằng tích các cổng của G sao choUU' .
Deutsch là người đầu tiên chỉ ra một cổng lượng tử phổ dụng 3 qubit.
Đó là cổng Toffoli dạng tổng quát [34 trang 24,25] Sau đó, Di Vincenzo chỉ
ra những cổng 2 qubit là phổ dụng Cho đến nay, có rất nhiều tập cổng phổ dụng đã được đưa ra Một ví dụ về tập cổng phổ dụng là tập cổng CNOT, Hadamard, các cổng dịch pha [32] Chi tiết về tập cổng phổ dụng có thể xem tại [20,23,31,32].
Trang 33- Thuật toán lượng tử dạng đơn giản: bao gồm một dãy các thao tácUnita, thường kết thúc bằng một phép đo Có thể ví dụ như thuật toán lượng tử Deutsch-Jozsa Trong thuật toán lượng tử dạng đơn giản chỉ có một phép đo, thông thường là khikết thúc thuật toán.
- Thuật toán lượng tử dạng phức tạp: bao gồm một dãy các thuật toánlượng tử dạng đơn giản đi liền nhau Thuật toán lượng tử dạng phức tạp có thể có nhiềuphép đo, đầu vào của bước tiếp theo là kết quả đo của bước trước Có thể ví dụ nhưthuật toán lượng tử Peter Shor
Điểm khác biệt của thuật toán lượng tử là đã sử dụng những ưu điểm, đặcđiểm riêng biệt của máy tính lượng tử Nhờ sự áp dụng đó mà giải thuật lượng tửthật sự đã làm được những việt tưởng như không thể đối với những giải thuật cổđiển Ưu điểm chủ yếu được sử dụng ở đây là tính chất song song của tính toánlượng tử: việc cổng lượng tử tác động lên một siêu trạng thái n-qubit có nghĩa là nó
đã tác động đồng thời lên 2 n trạng thái riêng rẽ Do vậy khi thiết kế các thuật toánlượng tử chúng ta cần tuân thủ nguyên lý song song lượng tử
Công cụ toán học được sử dụng nhiều nhất trong những giải thuật lượng tửhiện nay là phép biển đổi Fourier rời rạc Phép biến đổi Fourier (FT) thực sự đã đưalại nhiều lợi ích trong lĩnh vực của tính toán lượng tử Để hiểu rõ vai trò của FTtrong những giải thuật lượng tử, chúng ta cần xem xét sơ đồ tổng quát của một giảithuật lượng tử dạng đơn giản
Trang 34B1: Xác định trạng thái khởi đầu: S0
B2: Xác định một phép biến đổi Unita U thích hợp sao cho: U S 0 S f là một
siêu trạng thái lượng tử thoả mãn điều kiện nào đó (tuỳ thuộc vào từng vấn đề cụthể)
B3: Thực hiện ―đo‖ S f để thu được kết quả mong muốn.
Việc xác định S0 và U là phụ thuộc vào từng bài toán, từng vấn đề cụ thể
Toán tử Unita U chính là chìa khoá của mỗi giải thuật
Trong sơ đồ tổng quát này, vai trò của FT sẽ nằm ở B1 và trong phép biến
đổi U nhằm thu được Sf thoả mãn điều kiện nào đó Đối với một thanh ghi trạng
trong không gian đó có một mối tương quan nhất định nào đó Nhờ mối tương quan
đó, sau phép đo S f ta sẽ thu được những thông tin cần thiết để đưa ra kết luận vềlời giải của vấn đề
Để làm sáng tỏ ý trên, chúng ta sẽ cùng đi vào giải thuật lượng tử được coi
Trang 35+ Trường hợp ―hằng số‖: tức là:f i 0i 1, N
+ Trường hợp ―cân bằng‖: tức là: trong tập f (1), , f ( N) có một nửa là giá trị 1; nửa còn lại là 0
Câu hỏi đặt ra là phân biệt f trong hai trường hợp trên?
b Hướng giải quyết cổ điển:
Với giải thuật thuần tuý, chúng ta cần xác định giá trị của f(x) tại ít nhất
Trang 36Như vậy, giải thuật xác suất có thể giải quyết bài toán tương đối tốt
c Hướng giải quyết dùng lý thuyết tính
toán lượng tử:
Dùng giải thuật lượng tử, chúng ta có thể giải quyết bài toán trên chỉ với một
vài lệnh (cho mọi giá trị của N)
Giải thuật của Deutch và Jozsa cần dùng 2 thanh ghi lượng tử Thanh ghi thứ
nhất gồm n-qubit lưu trữ các số từ (có thể coi giả thuyết là
f : 0, , N 1 0,1 ) Thanh ghi thứ hai chỉ gồm 1-qubit lưu giá trị của hàm f
gồm hai giá trị 0,1 Trạng thái ban đầu của thanh ghi thứ nhấtn-qubit là 0 ,trạng thái ban đầu của thanh ghi thứ hai 1-qubit là 1 n
0 N 1
Trang 371N 1 1 1
Trang 38Để tạo đƣợc S0 ta tác động phép biến đổi Fourier (FT) (sẽ nói ở mục 2.3) vào
trạng thái nguyên thuỷ 0 của thanh ghi thứ nhất và tác động phép biến đổi
Trang 40f là ―hằng số‖; ngược lại
B3: Đo thanh ghi thứ nhất: nếu kết quả là 0 thì
n
f sẽ là ―cân bằng‖
Hình 2.1 Sơ đồ mạch của thuật toán Deutch-Jozsa
Ta sẽ chỉ ra rằng trong trường hợp ngược lại f luôn là ―cân bằng‖: tức là sẽ
f là ―cân bằng‖ mà lại đo được