Mayoritas algoritma 1 berguna / relatif efisien untuk komputer kuantum termasuk dalam kelas kompleksitas 'bounded-error quantum polynomial time' (BQP) . Dengan definisi ini, Anda ingin 'tingkat kegagalan' dari setiap algoritma kuantum menjadi , atauP(sukses)≥2≤13 , meskipun hasilnya mungkin masih dalam beberapa kesalahan kecil. Algoritma non-probabilistik (yang dapat berjalan dalam waktu polinomial) masih akan berada di kelas kompleksitas ini, dengan satu-satunya perbedaan adalah bahwa iaselalumengembalikan hasil yang benar2.P(success)≥23
Namun, karena Anda dapat menjalankan algoritme beberapa kali secara sewenang-wenang, ini setara dengan memiliki probabilitas keberhasilan minimal untuk input panjangndan konstanta positifc.12+ n- cnc
Jadi, hasil 'benar' adalah yang muncul setidaknya dua pertiga dari waktu, kecuali jika Anda ingin perhitungan 'satu-tembakan' seperti jika Anda ingin menghasilkan angka acak, atau jika Anda ingin melakukan sesuatu seperti benchmark chip kuantum, di mana statistik penting dan merupakan bagian dari 'hasil'.
Selain dari ini (atau algoritma lain yang tidak memiliki 'hasil yang benar' tunggal), jika Anda menemukan algoritma dengan tingkat keberhasilan di bawah setengah, itu tidak lagi 'kesalahan terikat' dan itu tidak mungkin bagi pengguna untuk mengetahui hasil yang benar - mungkin hanya ada jawaban yang salah dengan kemungkinan lebih tinggi terjadi daripada yang benar.
Ya, Anda dapat melihat hasil yang berbeda setiap kali Anda menjalankan perhitungan. Kepercayaan pada hasil disediakan oleh:
- Algoritma kuantum itu sendiri memastikan bahwa hasil yang benar terjadi dengan probabilitas tinggi dan;
- Mengulangi algoritma beberapa kali untuk menemukan hasil yang paling mungkin.
1 Di sini, algoritma yang dapat dihitung dalam waktu polinomial untuk memberikan solusi dengan 'probabilitas tinggi', meskipun untuk keperluan jawaban ini, kompleksitas waktu kurang penting
2 Yah, setidaknya secara idealis