Thuật_toán_lượng_tử

Trong tính toán lượng tử, thuật toán lượng tử là một thuật toán chạy bằng mô hình thực tế của tính toán lượng tử, mô hình được sử dụng phổ biến nhất là mô hình tính toán thông qua mạch lượng tử. Một thuật toán cổ điển (không phải lượng tử) là một chuỗi hữu hạn các chỉ thị, hoặc là một quá trình có thứ tự để giải quyết một vấn đề, trong đó mỗi bước hay một chỉ thị có thể được thực hiện trên máy tính cổ điển. Tương tự, thuật toán lượng tử là một quá trình có thứ tự, trong đó mỗi bước có thể được thực hiện trên một máy tính lượng tử. Mặc dù tất các thuật toán cổ điển có thể được thực hiện trên máy tính lượng tử, thuật ngữ "thuật toán lượng tử" thường được sử dụng cho những thuật toán mà vốn đã liên quan đến lượng tử, hoặc sử dụng một vài thuộc tính cốt lõi của tính toán lượng tử như lại chồng chất lượng tử hay vướng víu lượng tử.Tất cả các vấn đề có thể giải quyết trên một máy tính lượng tử cũng có thể giải quyết trên máy tính cổ điển. Trong một số trường hợp, nhiều vấn đề không giải quyết được khi sử dụng máy tính cổ điển vẫn không giải được trên máy tính lượng tử. Điều làm cho những thuật toán lượng tử trở lên thú vị là chúng có thể giải quyết một vài vấn đề nhanh hơn các thuật toán cổ điển.Thuật toán nổi tiếng nhất là thuật toán Shor về sự phân tích thành các thừa số, và thuật toán Grover về việc tìm kiếm trên một bộ dữ liệu không có cấu trúc hoặc một danh sách không có thứ tự. Thuật toán của Shor chạy với độ phức tạp logarit, nhanh hơn thuật toán cổ điển nổi tiếng nhất về sự phân tích thành các thừa số - sàng lọc tổng quát số học. Thuật toán của Grover chạy với độ phức tạp theo hàm căn bậc hai, nhanh hơn thuật toán cổ điển tốt nhất với cùng một vấn đề.