أثبتنا أن متجه الحالة للسجل Q في خوارزمية غروفر يبقى في الفضاء الثنائي الأبعاد الممتد بين ∣A0⟩ و∣A1⟩ بمجرد تنفيذ خطوة التهيئة.
الهدف هو إيجاد عنصر x∈A1، وسيتحقق هذا الهدف إذا تمكنا من الحصول على الحالة ∣A1⟩ — لأنه إذا قسنا هذه الحالة، سنحصل بالتأكيد على نتيجة قياس x∈A1.
بما أن حالة Q بعد t تكرار في الخطوة الثانية هي
Gt∣u⟩=cos((2t+1)θ)∣A0⟩+sin((2t+1)θ)∣A1⟩,
ينبغي اختيار t بحيث يكون
⟨A1∣Gt∣u⟩=sin((2t+1)θ)
أقرب ما يمكن إلى 1 بالقيمة المطلقة، لزيادة احتمالية الحصول على x∈A1 من القياس.
لأي زاوية θ∈(0,2π)، تتذبذب قيمة sin((2t+1)θ) كلما زاد t، وإن لم تكن بالضرورة دورية — ولا ضمان بأن نحصل على القيمة نفسها مرتين.
بطبيعة الحال، إضافة إلى جعل احتمالية الحصول على عنصر x∈A1 من القياس كبيرة، نريد أيضًا اختيار t بأصغر قيمة ممكنة، لأن t تطبيقات للعملية G تتطلب t استعلامًا للدالة f.
نظرًا لأننا نسعى إلى جعل sin((2t+1)θ) قريبة من 1 بالقيمة المطلقة، طريقة طبيعية لذلك هي اختيار t بحيث
(2t+1)θ≈2π.
حل هذه المعادلة لإيجاد t يُعطي
t≈4θπ−21.
بالطبع، t يجب أن يكون عددًا صحيحًا، لذا لن نتمكن بالضرورة من الوصول إلى هذه القيمة تمامًا — لكن ما يمكننا فعله هو أخذ أقرب عدد صحيح لهذه القيمة، وهو
t=⌊4θπ⌋.
هذا هو عدد التكرارات الموصى به لخوارزمية غروفر.
مع تقدم التحليل، سنرى أن قرب هذا العدد الصحيح من القيمة المستهدفة يؤثر بشكل طبيعي على أداء الخوارزمية.
(ملاحظة جانبية: إذا كانت القيمة المستهدفة π/(4θ)−1/2 تقع بالضبط في منتصف المسافة بين عددين صحيحين، فإن هذا التعبير لـt ينتج بالتقريب للأعلى. يمكننا بدلًا من ذلك التقريب للأسفل، وهو أمر منطقي لأنه يعني استعلامًا أقل — لكن هذا ثانوي وغير مهم لأغراض هذا الدرس.)
بالتذكر أن قيمة الزاوية θ تُعطى بالصيغة
θ=sin−1(N∣A1∣),
نرى أن عدد التكرارات الموصى به t يعتمد على عدد السلاسل في A1.
هذا يطرح تحديًا إذا لم نعرف عدد الحلول كما سنناقش لاحقًا.
أولًا، لنركز على الحالة التي توجد فيها سلسلة واحدة فقط x بحيث f(x)=1.
بصيغة أخرى، نحن نأخذ بعين الاعتبار نسخة من مسألة البحث الفريد.
في هذه الحالة لدينا
θ=sin−1(N1),
والذي يمكن تقريبه بشكل مناسب بـ
θ=sin−1(N1)≈N1
عندما يصبح N كبيرًا.
إذا عوَّضنا θ=1/N في التعبير
t=⌊4θπ⌋
نحصل على
t=⌊4πN⌋.
بالتذكر أن t ليس فقط عدد مرات تنفيذ العملية G، بل هو أيضًا عدد الاستعلامات للدالة f التي تتطلبها الخوارزمية، نرى أننا في طريقنا نحو الحصول على خوارزمية تتطلب O(N) استعلامًا.
الآن سنتحقق من مدى نجاح الاختيار الموصى به لـt.
يمكن التعبير بصورة صريحة عن احتمالية أن يكشف القياس النهائي عن الحل الفريد على النحو التالي:
p(N,1)=sin2((2t+1)θ).
الوسيطة الأولى، N، تشير إلى عدد العناصر التي نبحث بينها، والوسيطة الثانية، وهي 1 هنا، تشير إلى عدد الحلول.
بعد قليل سنستخدم نفس التدوين بصورة أعم، حيث تتعدد الحلول.
فيما يلي جدول لاحتمالات النجاح مع تزايد القيم N=2n.