Thuật toán Grover

Một phần của tài liệu Các thuật toán cơ bản trong thông tin lượng tử (Trang 46)

Bước ngoặt thứ hai trong thiết kế thuật toán lượng tử có tên là thuật toán Grover dùng cho nghiên cứu không cấu trúc [28, 29]. Vấn đề của việc nghiên cứu không cấu trúc biến hóa cho bất kỳ vấn đề nào khi cần phải tìm ra một giải pháp tối ưu trong một vỏ kín, có nghĩa là không cần sử dụng cấu trúc có thể của vấn đề:

Bài toán: Cho một hàm điều khiển f:  0,1 n 0,1 , hàm này = 0 đối với mọi n trừ , tìm .

Theo cách cổ điển, thuật toán nhất định cần phải tìm ra 2n1 để xác định  trong trường hợp xấu nhất và thuật toán xác suất cũng cần phải tìm ra

 2n

O . Grover đưa ra một thuật toán lượng tử cho phép giải quyết vấn đề này với O 2n truy vấn và đây được coi là khả năng tối ưu nhất. Thuật toán Grover vì vậy có thể đẩy nhanh gấp 2 lần bất kỳ thuật toán nào sử dụng việc nghiên cứu, tìm tòi như một trình phụ.

Thuật toán lượng tử Grover sử dụng trình phục trong hình 2.6 khoảng 2n lần, ta có

Hình 2.6 Trình phụ trong thuật toán Grover

Cổng n-qubit C P  biểu thị pha được điều khiển, nó thể hiện ký hiệu của tất cả các trạng thái cơ bản trừ trạng thái 0. Hoạt động của nó có thể được viết rút gọn thành C P 2 0...0 0...0 In, trong đó In thể hiện tính đồng nhất trên n qubits. Hoạt động này kết hợp với phép biến đổi Hadamard, phép biến đổi Hadamard ghép 0...0 với trạng thái chồng chất

 0,1 1 2n n x x     . Việc

biến đổi giữa bước 1 và bước 2 có thể được viết thành R 2   In. Có lúc, nó còn được gọi là sự khuếch xạ hoặc phản xạ xung quanh giá trị trung bình, vì nó thể hiện độ lớn của trạng thái xung quanh giá trị trung bình 1 2n . Việc tính toán giữa bước 2 và bước 3 với hệ qubit phụ thuộc vào 1 0 1 

2  tương tự như trong hình 2.3.; nó đưa pha của  1 f x  sang pha cơ bản x . Trong trường hợp của chúng tôi, chỉ f   là không bằng 0 và như vậy thì chỉ pha của  mới bị lật lại. Hoạt động này có thể viết thành R In2   . Phương trình này được gọi là phương trình phản chiếu xung quanh . Thuật

toán Grover đầu tiên sử dụng n

H cho trạng thái 0...0 và sau đó lặp lại trình phụ R R  của hình 2.6 T lần .

Chú ý rằng với biến đầu vào  , trình phụ trong hình 2.6 khiến cho không gian phụ mở rộng bởi  và  . Bên trong không gian này, nó đóng vai trò là phép quay xung quanh góc , trong đó sin 1

2n

  . Sau khi lặp lại T lần, trạng thái xoay chuyển từ  thành gần như  trực giao với góc

T. Lựa chọn 2 2

n

T  

  

  ta được trạng thái chồng chất với  , rất gần với bước 1.Việc tính toán mang lại cho  xác suất rất cao.

Không khó để thấy rằng thuật toán này cũng có tác dụng trong trường hợp mục đánh dấu k trong bảng dữ liệu; trong trường hợp này thời gian thực hiện là 2 n O k         . 2.5 Những thuật toán khác

Những phát triển trong thiết kế thuật toán lượng tử sau thuật toán Shor và Grover có thể được xếp vào thành 3 nhóm: thuật toán khái quát hóa thuật toán Shor ( các thuật toán trong nhóm phụ bị ẩn đi), các thuật toán thể hiện việc nghiên cứu không cấu trúc (các thuật toán tương tự như thuật toán Grover) và một vài thuật toán không được xếp vào trong những danh mục này. Phạm vi nghiên cứu của chương này giới hạn chỉ ở một nhóm nhỏ các thuật toán lượng tử và các phương pháp mới.

2.5.1 Vấn đề nhóm phụ ẩn

Thuật toán Shor có thể được coi là một ví dụ của bài toán khái quát hơn, bài toán về nhóm phụ ẩn. Hàm f trong bài toán tìm thời gian qua M

không đổi trên cả tập hợp x x, a,... đối với mỗi x và khác nhau trên những tập hợp rời rạc như vậy; nếu a chia M , nó không đổi trên những lớp khác nhau như vậy.

Định nghĩa: Bài toán nhóm phụ ẩn (HSP)- với a hàm f : GR trên nhóm G, và một nhóm phụ HG để f không đổi trên lớp trái của H và khác nhau đối với các lớp khác nhau, tìm tập hợp tạo ra H.

HSP là một bài toán quan trọng. Thuật toán hiệu quả cho nhóm M tạo ra một thuật toán phân tích hiệu quả. Nó còn là một bộ phận của một thuật toán hiệu quả cho thuật toán rời rạc qua M. Thuật toán rời rạc là cơ sở mã hóa nữa trong công nghệ mã hóa cổ điển có thể bị tách ra bởi một máy tính lượng tử. Theo nguyên tắc lượng tử, việc khái quát hóa một chút thuật toán Shor sẽ tạo ra một thuật toán hiệu quả cho HSP đối với tất cả các nhóm Abelian. Kitaev [40-42] phát triển một thuật toán lượng tử cho bài toán Abelian Stabilizer, một ví dụ khác của bài toán nhóm phụ ẩn, sử dụng việc ước định pha tương ứng với phép biến đổi lượng tử Fourier và cũng giải quyết HSP qua nhóm Abelian. Sử dụng HSP Abelian, Hallgren [35] đưa ra thuật toán lượng tử đa thức cho phương trình Pell, giải quyết bài toán lý thuyết về số cũng khó như phân tích bài toán đó. Trong số những ứng dụng khác của HSP, Friedl và các đồng sự [30] đã giải bài toán chuyển đổi ẩn: cho hai hàm

fg được xác định qua nhóm n

p để f x g x t   cho phép chuyển đổi ẩn t, tìm t.

Một trong những khó khăn nhất từ Shor là thiết kế thuật toán lượng tử cho HSP phi Abelian. Ví dụ, giải pháp hiệu quả cho nhóm đối xứng Sn( hoán vị của thành phần n) sẽ tạo ra một thuật toán hiệu quả cho bài toán đẳng cấu hình học: để xác định xem hai hình cho trước này có tương đương với nhau để hoán vị các đỉnh cho nhau không. Một bài toán quan trọng nữa là HSP qua (adsbygoogle = window.adsbygoogle || []).push({});

nhóm nhị diện DN ( nhóm đối xứng của N thông thường). Cách giải trong trường hợp này sẽ đưa ra một thuật toán cho bài toán vectơ ngắn nhất trong một mạng; việc rút gọn này được chỉ ra bởi Regev [42]. Bài toán vector ngắn nhất nằm ở phương pháp mã hóa cổ ddiern được thiết kế như một phương pháp thay thế cho những phương pháp dựa trên việc phân tích hoặc thuật toán rời rạc.

Trong trường hợp của HSP qua các nhóm, Ettinger, Hoyer và Knill [23] chỉ ra rằng một số trạng thái gồm các lớp đa thức của dạng

  1 h H x h f x H   

( so với phương trình (2.12) là đủ để đạt được tất cả các thông tin lý thuyết về nhóm phụ ẩn H. Tuy nhiên, để lấy được những thông tin này, cần phải rất nhiều thời gian; vì vậy nhìn chung thuật toán này không hiệu quả. Đối với HSP qua nhóm nhị diện D2n, Kuperberg [43] đưa ra một thuật toán lượng tử thực hiện trong thời gian 2O n . Cần phải tốn công sức nhiều trong việc phân tích hiệu quả của việc lấy mẫu lượng tử Fourier (Hình 2.4), khi QFT là phép biến đổi Fourier qua nhóm G, khi nhóm phụ ẩn H là nhóm phụ của G. Trong trường hợp nhóm đối xứng, QFT (phi Abelian) thực thi hiệu quả bởi máy tính lượng tử [7]; tuy nhiên rất nhiều bài viết [32,33, 34,34] chỉ ra rằng không thể thực hiện phương pháp này để giải bài toán ( trong trường hợp đo lường một hoặc hai bản sao tại trạng thái ở bước 4, hình 2.4. Đây là một câu hỏi mở: ”Liệu có thuật toán lượng tử hiệu quả nào cho HSP sử dụng công cụ khác mà không nhất thiết phải dựa trên QFT không?”.

2.5.2 Thuật toán nghiên cứu

Một số thuật toán lượng tử sử dụng phương pháp nghiên cứu của Grover như một trình phụ được cho là đã thúc đẩy đa thức so với những phép

nghiên cứu khác. Ví dụ Brassard và đồng sự [15] đưa ra một thuật toán lượng tử cho bài toán tìm các mâu thuẫn trong hàm k tới 1. Đối với hàm f , k tới 1, nhiệm vụ của chúng ta là tìm ra được 1 mâu thuẫn, có nghĩa là cho 2 biến đầu vào, xy để cho f x  f y . Đầu tiên phải tìm ra một tập hợp K với

 1 3

KN k và kiểm tra mâu thuẫn, có thể làm với  1 3

O N k truy vấn. Nếu tìm ra được một mâu thuẫn, thuật toán sẽ tạo ra nó và ngừng lại, nếu không chúng ta thiết lập phép nghiên cứu Grover cho hàm f được xác định bên ngoài K, K =1 nếu có mâu thuẫn với một thành phần trong K. Trong trường hợp này, ta được   2 3 1 3

1

kKk N và phương pháp nghiên cứu Grover thực hiện trong thời gian  2 3 1 3  1 3

N k NN k . Vì vậy tổng số truy vấn trong thuật toán này là  1 3

O N k , vẫn tốt hơn so với bất kỳ thuật toán cổ điền nào. Ứng dụng khác của thuật toán Grover bao gồm xác định xem tất cả các thành phần trong hình ảnh của một hàm trên N đều khác nhau [16], điều này có thể được thực hiện trong thời gian O N 3 4, thuật toán Grover đóng vai trò làm trình phụ. Chú ý rằng gần đây, một hàm lượng tử tốt hơn dựa trên các bước lượng tử cũng đã được đưa ra để giải bài toán này [4] ( xem phần tiếp theo). Trong phần [19], những thuật toán lượng tử tối ưu để giải quyết bài toán đồ thị như kết nối (mạnh), cây mở rộng tối thiểu và đường đi ngắn nhất cũng đã được đưa ra sử dụng phương pháp nghiên cứu Grover.

2.5.3 Những thuật toán khác

Hầu hết các thuật toán lượng tử đều dựa vào QFT hoặc phương pháp nghiên cứu Grover. Một số ít thuật toán lượng tử đi chệch ra ngoài hai phương pháp này. Thuật toán như vậy được dùng để nghiên cứu theo yêu cầu, vấn đề là thời gian để thực hiện là log2NO 1 . Hai thuật toán trên được đưa

ra để cùng giải một bài toán, cả hai đều dựa trên cây nhị phân. Thuật toán được biết đến nhiều nhất được phát hiện bởi Farhi và đồng sự [25], thuật toán này được phát hiện trên một cây phụ nhỏ và sau đó đệ quy, thực hiện với

2

0, 526 log N truy vấn. Thuật toán cũng mang tính thuyết phục được đưa ra bởi

Hoyer [37] sử dụng phép biến đổi Haar trên cây nhị phân với

   

3 2

log NO 1 0.631log NO 1 truy vấn; một ứng dụng tuyệt vời trong việc biến đổi lượng tử hiệu quả bên ngoài QFT.

2.6 Những phát triển gần đây

Chúng tôi đã phát hiện ra rằng có hai loại thuật toán lượng tử chiếm ưu thế trong lĩnh vực này, đó là thuật toán dùng để giải quyết bài toán nhóm phụ ẩn hay sử dụng QFT và thuật toán sử dụng phép nghiên cứu Grover. Gần đây, hai xu hướng thay thế được phát hiện ra và sẽ được nêu tóm tắt dưới đây.

2.6.1. Bước lượng tử

Một trong những bước đột phá lớn nhất trong việc thiết kế lượng tử cổ điển đó là việc đưa ra tính ngẫu nhiên và khái niệm thuật toán xác suất. Rất nhiều bài toán có thuật toán sử dụng bước ngẫu nhiên như một trình phụ. Ví dụ, thuật toán tốt nhất hiện giờ dùng để giải 3SAT [48] dựa trên bước lượng tử. Tiếp theo, hệ mô hình hóa lượng tử của bước ngẫu nhiên cũng được đưa ra. Có hai mô hình khác nhau của một bước lượng tử, mô hình liên tục về thời gian được giới thiệu trong phần [26] và mô hình rời rạc về thời gian cũng được giới thiệu trong phần [1,5]. Mô hình liên tục chuyển đổi đồng nhất trực tiếp trên không gian diễn ra bước lượng tử. Mô hình rời rạc cần phải thực hiện thêm bài toán xác suất và xác định ra được một quy trình bao gồm hai bước đó là “ lật đồng xu lượng tử” sau khi đã thực hiện xong bước điều khiển bởi đồng xu. Gía trị quan trọng để thiết kế lượng tử với các bước ngẫu nhiên là

thời gian - mất bao nhiêu thời gian để gần như phân phối đồng đều trên miền và cần bao nhiêu thời gian để đạt tới điểm bất kỳ nào đó. Những giá trị này cũng đã được phân tích cho một số đồ thị trong cả mô hình liên tục và mô hình rời rạc. Kết quả là bước lượng tử có thể đẩy nhanh thời gian phân phối lên đến bình phương so với thông thường; vì vậy việc tiến hành lượng tử hay cổ điển cũng đều liên quan đến đa thức. Tuy nhiên, hoạt động đạt tới điểm bất kỳ cũng rất khác so với cổ điển. Có hai đồ thị và hai lưới trong đồ thị để thời gian đạt điểm bất kỳ cổ điển từ một đỉnh tới đỉnh khác là đa thức trong số các lưới của đồ thị, trong khi bước lượng tử nhanh hơn theo cấp số mũ. Sử dụng ý tưởng này trong [17], một bài toán đã được xây dựng trong đó thuật toán dựa trên bước lượng tử nhanh hơn theo cấp số nhân so với thuật toán sác xuất cổ điển. Vấn đề tranh luận là liệu số lần đạt điểm bất kỳ của lượng tử có được sử dụng để đẩy nhanh thuật toán cổ điển dùng cho những bài toán khác hay không?

Dựa vào công trình nghiên cứu này mà thuật toán bước lượng tử cũng được giới thiệu trong phần [48] cho bài toán tìm đỉnh đánh dấu trong một đồ thị. Ý tưởng rất đơn giản: thuật toán bắt đầu từ trạng thái chồng chất trên tất cả các đỉnh. Tại mỗi bước, nó thực hiện một bước lượng tử; có hai quy luật cho bước lượng tử, tại một đỉnh không được đánh dấu, bước lượng tử thực hiện như bình thường, nhưng tại một đỉnh được đánh dấu, áp dụng quy luật chuyển đổi khác ( thông thường tại một đỉnh không đánh dấu, đồng xu lượng tử được lật lại và tại đỉnh đánh dấu, đồng xu không lật). Cuối cùng, phát hiện ra rằng, sau một khoảng thời gian, độ lớn của trạng thái tập trung tại mục đánh dấu ; phép tính toán cũng tìm thấy mục được đánh dấu với độ sác xuất lớn.

Thuật toán này giải quyết bài toán Grover trên đồ thị. Tại sao chúng ta phải cần nghiên cứu bước lượng tử nếu chúng ta có thuật toán Grover rồi? Kết (adsbygoogle = window.adsbygoogle || []).push({});

quả là có những trường hợp bước khuếch tán của thuật toán Grover không thể được tiến hành một cách hiệu quả ( bởi vì cấu trúc liên kết địa phương của cơ sở dữ liệu không cho phép, vì những giới hạn trên cổng lượng tử hoặc bởi vì tốn kém quá nhiều trong việc thiết lập một tập hợp các truy vấn). Bước lượng tử chỉ làm chuyển đổi địa phương và có thể chiếm ưu thế hơn. Ví dụ việc nghiên cứu cho một mục được đánh dấu trong cơ sở dữ liệu hai chiều. Trong trường hợp này, thuật toán Grover yêu cầu N truy vấn, nhưng để thay đổi độ lớn từ một mục của cơ sở dữ liệu sang mục khác trên lưới thì cần phải có thêm trung bình N bước trên mỗi lần truy vấn. Mức độ phức tạp của thuật toán trở thành N. NN và đánh mất ưu thế lượng tử. Thuật toán bước lượng tử cũng được chỉ ra để tìm một mục đánh dấu trong thời gian ONlogN [6].

Ví dụ thứ hai về trạng thái chồng chất của nghiên cứu bước lượng tử qua thuật toán Grover đã được đưa ra trong phần [4]. Ambainis sử dụng một bước lượng tử để đưa ra thuật toán đã được đổi mới để tạo ra tính khác nhau rõ rệt cho các thành phần, điều này cần đến thời gian tối ưu  2 3

O N , vì vậy cải thiện hơn so với thuật toán dựa trên Grover để giải quyết bài toán ( mất thời gian O N 3 4, xem phần 2.6.5). Một số thuật toán dựa trên bước lượng tử mới với việc cải thiện đa thức trên thuật toán dựa vào Grover cũng đã được đưa ra. Để tham khảo phần bước lượng tử, xem phần [3, 34].

2.6.2Thuật toán lượng tử đoạn nhiệt

Thuật toán thay thế gần đây được giới thiệu có tên là thuật toán lượng

Một phần của tài liệu Các thuật toán cơ bản trong thông tin lượng tử (Trang 46)