Thật vậy, như wwjohnsmith1 đã nói, bạn có thể tăng tốc độ căn bậc hai so với thuật toán của Schöning cho 3-SAT, nhưng nói chung hơn là đối với thuật toán của Schöning cho k-SAT. Trên thực tế, nhiều thuật toán ngẫu nhiên cho k-SAT có thể được thực hiện nhanh hơn theo phương pháp bậc hai trên máy tính lượng tử.
Lý do cho hiện tượng chung này là như sau. Nhiều thuật toán ngẫu nhiên cho k-SAT chạy trong thời gian (trong đó T ( n ) là một số hàm tăng trưởng theo cấp số nhân của n ) thực sự làm một cái gì đó mạnh hơn. Tại cốt lõi của chúng, có một thuật toán đa thức thời gian đưa ra một phép gán thỏa mãn, nếu có tồn tại, với xác suất ít nhất là 1 / T ( n ) . Từ đó, rõ ràng là nếu bạn lặp lại thuật toán đa thời gian O ( T nàyO(T(n)poly(n))T(n)n1/T(n) nhiều lần và chấp nhận nếu bất kỳ lần chạy nào trả về một giải pháp, bạn sẽ nhận được thuật toán ngẫu nhiên cho k-SAT chạy trong thời gian O ( T ( n ) p o l y ( n ) ) .O(T(n))O(T(n)poly(n))
Bây giờ thay vì chạy thuật toán này lần, bạn có thể chạy khuếch đại biên độ trên thuật toán đa thời gian này. Khuếch đại biên độ là một thuật toán lượng tử nói chung mà có thể quyết định nếu thuật toán khác chấp nhận với xác suất 0 hoặc với xác suất 1 / T chỉ sử dụng O ( √O(T(n))1/Tsử dụng thuật toán này. Áp dụng khuếch đại biên độ đến như một k-SAT giải sẽ ngay lập tức tạo ra một thuật toán lượng tử cho k-SAT với thời gian chạyO( √O(T−−√), nhanh hơn bậc hai (bỏ qua thuật ngữ poly (n)).O(T(n)−−−−√poly(n))